0

おはようございます、

javax.swing.Box クラスのおかげで GUI を作成しています

パネルの内側:高さ固定
の JLabel
JTable JLabel自動高さの JTable

最初の JTable の高さを修正するためにあらゆることを試みましたが、成功しませんでした。
上記の行の各コンポーネント専用の Box.createHorizo​​ntalBox() を作成し、それらを Box.createVerticalBox() に追加します。
最初の結果を取得する代わりに、両方の JTable が自動高さを持つレイアウトを取得し、最初の JTable の高さを固定することを好みました...

回答ありがとうございます。

乾杯

4

3 に答える 3

2

私は解決策を見つけましたが、そのようなばかげた問題であなたを悩ませるべきではありませんでした。
作成した水平ボックスごとに、一種のパ​​ディングを示すために10ピクセルの水平支柱を追加しました。それらの支柱は列の最初であり、ボックスレイアウトの建物の「高さの基準」として自動的に使用されましたが、私はawt / swingレイアウトに慣れていないので、それを誤解している可能性があります。

それらの支柱を取り外し、10ピクセルの水平支柱を含む垂直ボックスを挿入しました。それは仕事をしました。

とにかく、MarkusとMichaelの時間をありがとう、上司がそうする時間を与えてくれるとき、私は太陽のチュートリアルを深く掘り下げます

乾杯

于 2009-05-26T14:20:32.967 に答える
0

たとえば、呼び出して行の高さに変更できます

TableColumn column = table.getColumnModel().getColumn(0);
    column.setPreferredWidth(150);
    //set all rows height 
    table.setRowHeight(20);
    //set specific row height
    table.setRowHeight(2,50);

呼び出して更新できるテーブル サイズ

setPreferredSize(Dimension preferredSize)

また、パネルのレイアウトを決定する必要があります。レイアウトは決めましたか?

于 2009-05-26T10:38:43.723 に答える
0

実際のコードを見せてみませんか?

レイアウトマネージャーを正しく使用していないようです。おそらく、「自動」テーブルを CENTER 位置に配置し、2 番目のパネル内の残りを NORTH 位置に配置して BorderLayout を使用し、その 2 番目のパネルで Boxlayout または FlowLayout を使用する必要があります。

Sun には、おそらく非常に役立つレイアウト マネージャーの使用に関する非常に優れたチュートリアルがあります。

于 2009-05-26T10:41:07.433 に答える