どうすればaJButton
を下に配置できJTable
ますか?どんなレイアウト?どのように?スクロール可能なJTable
テーブルがあり、テーブルはフレーム内にあります。
4 に答える
このニーズを満たすための多くのレイアウトがあります。
最も簡単なのはBorderLayoutを使用することです。
JFrame frame = new JFrame();
Container contentPane = frame.getContentPane();
contentPane.setLayout(new BorderLayout());
contentPane.add(new JScrollPane(jtable), BorderLayout.CENTER);
contentPane.add(button, BorderLayout.SOUTH);
このボタンのサイズを変更したくない場合は、に追加JPanel
してcontentPane
ください。これJPanel
には、ほとんどすべてのレイアウトを使用して中央にボタンが含まれている必要があります。
より洗練されたレイアウトを使用したい場合-私の意見ではMigLayoutが最適です
LoveToCodeの意味のある、しかし誤解を招くアドバイスを修正するために、JTable自体にレイアウトを与えることは決してありません。問題の解決策は、JTableのレイアウトを設定するのではなく、JTableのJScrollPaneとJButtonの両方を保持するJPanelのレイアウトを設定することです。BorderLayoutは、JScrollPaneがBorderLayout.CENTERに配置され、JPanelがJButtonBorderLayout.SOUTHを保持している場合に最適に機能する可能性があります。
これらのコンポーネントをJFrameに追加する場合は、そのcontentPaneがすでにBorderLayoutを使用していることを知っておいてください(チュートリアルでこれを説明しています。読んでください)。したがって、上記のように、これらの人をcontentPaneに追加するだけです。
スイングとawtのハードコーディングが必須でない場合は、Googleの無料ツールであるWindowsBuilder Proを使用してみてください。プラグインをEclipseにインストールしてから、使用してください。
GroupLayout-WindowsBuilder Proに統合された2005年にNetBeansチームによって導入されたものは、Javaで短時間で優れたGUIを作成するための最も便利な方法の1つです。
jframeまたはjpaneのレイアウトを設定するのと同じ方法でjtableのレイアウトを設定できるようです。table.setLayout(new grideLayout(4、3)は、4行3のグリッドレイアウトを提供します。列。スクロール可能な機能を使用すると、移動バーを使用してテーブルを「スクロール」できます。これはデフォルトの機能である場合もあれば、テーブルで使用できるメソッドを確認するために使用する必要がある場合もあります。最後に、テーブルである必要があります。フレームに入れて、ウィンドウで表示できるようにし、クラス拡張JFrameを作成すると、自動的にフレームになり、その上にテーブルを追加するだけで済みます。