2

JTableの列の幅のサイズを変更しようとしています。完全な列ヘッダー名を表示するには、プログラムの実行中にサイズを変更する必要があります。スイングフレームに表示されているデータベースのテーブルのサイズを変更したい。

私が試してみました

table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS)

しかし、これを使用すると、画面外の列にスクロールするための水平スクロールバーがあるため、目的の出力が得られませんでした。ただし、テーブル全体のサイズをフレームのサイズとほぼ同じにする必要があります。

すべてのテキストを表示するために必要な幅の列を作成するにはどうすればよいですか?

4

1 に答える 1

4

しかし、テーブル全体のサイズがフレームのサイズとほぼ同じになるようにしたいです。

JTable table = ...;
JFrame frame = ...;
JPanel contentPane = new JPanel( new BorderLayout() );
contentPane.add( new JScrollPane( table ), BorderLayout.CENTER );
frame.setContentPane( contentPane );

すべてのテキストを表示するために必要な幅の列を作成するにはどうすればよいですか?

残念ながら、 の最大幅はJTableのサイズに制限されます。また、が に含まれている場合、目的の幅JFrameから にプッシュするメカニズムはありません。JTableJFrameJTableJScrollPane

あなたができることはJScrollPane、正しい幅を与えることです。私はこれを試していませんが、スクロールペインにテーブルの優先幅と同じ幅を与えると(自動サイズ変更がオンの場合)、これが解決されると思います(+垂直スクロールバーの余分な幅)。ただし、これは、含まれる の幅も拡大できる場合にのみ機能することに注意してJFrameくださいJScrollPane

于 2012-08-22T05:54:24.927 に答える