2

这是我的代码,我想在 JScrollPane 中居中 JTextPane:

    JFrame frame = new JFrame("Example");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    final JTextPane editor = new JTextPane();
    editor.setEditorKit(this);
    JScrollPane scroll = new JScrollPane(editor);
    //scroll.setAlignmentX(JScrollPane.CENTER_ALIGNMENT); <<<didnt change anything, so //'ed it

    frame.getContentPane().add(scroll);

    frame.setBounds(GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds());
4

2 回答 2

4

问题可能是你框架的布局首先你必须设置框架的大小并设置对齐

于 2012-07-31T13:12:08.740 回答
2

由@Mr.Cool +1 补充答案

  • JFrame默认实现了BorderLayout,然后代码行将frame.getContentPane().add(scroll);所有可用空间填充到JFrame中

  • 你有两个选择:

    a) 将另一个JComponents(可能为空JPanels)添加到其余区域NORTH、和SOUTH,然后可以调整大小WESTEASTJScrollPaneJFrame

    b) 使用GridBagLayoutfor JFrame(没有任何GridBagConstant),然后JScrollPane无法调整大小JFrame

于 2012-07-31T13:21:57.890 回答