2

これが私のコードです。JTextPane を JScrollPane の中央に配置したいと思います。

    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 に埋めます

  • 次の 2 つのオプションがあります。

    a)残りの領域、、およびに別のJComponents(空の可能性がある) を追加すると、JPanelsNORTHSOUTHWESTEASTJScrollPaneJFrame

    b) GridBagLayoutfor JFrame(なしで) を使用しGridBagConstant、次にJScrollPaneサイズ変更できませんでしたJFrame

于 2012-07-31T13:21:57.890 に答える