0

そのため、JTextPane を作成して JFrame に追加すると、フレームがいっぱいになり、一緒に移動します。これを停止して、pane.setSize を実行できるようにするにはどうすればよいですか?

4

3 に答える 3

1

最も簡単な方法は、JPanelを作成し、JTextPaneをパネルに追加することです。次に、パネルをフレームに追加できます。

JPanel panel = new JPanel();
panel.setLayout(null);

JTextPane pane = new JTextPane();

panel.add(pane);

this.add(panel); //assuming that this extends JFrame

これで、テキストペインのサイズを適切に変更できるようになります。

于 2012-07-09T19:22:00.590 に答える
1

JFrameBorderLayoutがAPI に実装されている場合、

JFrame.add(JTextPane)等しいJFrame.add(JTextPane, BorderLayout.CENTER)

に 1 つしかJComponent配置されていない場合JFrame、(中央領域)Dimensionコンテナを返す利用可能なすべてを埋めます

何をしたいのかわからない

  1. 適切に使用するLayoutManager

  2. 使用するJScrollPane

于 2012-07-09T19:23:57.420 に答える
1

新しい gridBagLayout を作成し、それに応じて GridBagConstraints を設定します。

Container pane;
pane.setLayout(new GridBagLayout());
    GridBagConstraints c;
    c = new GridBagConstraints();
    c.fill = GridBagConstraints.BOTH;
    c.ipady = 0;
    c.weightx = 1.0;
    c.weighty = 1.0;
    c.insets = new Insets(2, 2, 2, 2);
    c.gridx = 0;
    c.gridy = 0;
    pane.add(jsp, c);
     pane.setBackground(Color.cyan);
    getContentPane().add(pane);
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    setTitle("TITLE");
    setLocation(150, 50);
    pack();
    setSize(600, 800);
于 2012-07-09T19:36:16.490 に答える