0

パネルのサイズに応じて JTextPane のサイズを設定して、他のパネルを追加するとそれに応じて変更されるようにします。しかし、中央に小さなテキストペインが表示されるだけで、テキストを追加すると、それに応じてサイズが変わります。

JPanel panel = new JPanel();
JTextPane txt = new JTextPane();
JScrollPane pane = new JScrollPane();
pane.add(txt);
panel.add(pane,BorderLayout.CENTER);
add(pane);

jtextpane が小さなボックスのように画面の中央に表示されるようになりました。パネルの大きさに合わせて表示させたい

4

2 に答える 2

6

JPanelデフォルトではFlowLayout、好みのサイズに従ってコンポーネントのサイズを変更します。BorderLayout可能な限り最大の領域を使用するものを使用できます。

BorderLayout.CENTERまた、コンテナが実際に を使用していない限り、などの制約を使用しても効果はありませんBorderLayoutaddにコンポーネントを追加しないでJScrollPaneください。これにより、コンポーネントのビュー内のすべてのコンポーネントが置き換えられます。代わりにJTextPaneを として設定しますViewPortView。たとえば、

JPanel panel = new JPanel(new BorderLayout());
JTextPane txt = new JTextPane();
JScrollPane pane = new JScrollPane(txt);
// pane.add(txt); remove
panel.add(pane, BorderLayout.CENTER);

読んだ:

于 2013-09-24T11:17:26.780 に答える
3

2回追加しましpaneた。panel代わりにベース (a JFrame?) に追加し、実際JPanelに使用するように設定することを忘れないでくださいBorderLayout

于 2013-09-24T11:20:15.710 に答える