1

ダイアログ内にテーブルを表示する小さな関数を書きました。swing を処理する際に、何をクリーンアップするか、およびより良いプログラミング方法についてのアドバイスを探しています。

コードにどのような改善を加えることができるか

//constraints for panel to fill out the frame
GridBagConstraints grid = new java.awt.GridBagConstraints();
grid.fill = java.awt.GridBagConstraints.BOTH;
grid.weightx = 1.0;
grid.weighty = 1.0;

//create jtable based on a table model created from an array
JTable table = new JTable(testModel);       //a method creates my test model
table.add(table.getTableHeader(), BorderLayout.PAGE_START);
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(testModel);
table.setRowSorter(sorter);

//add scrollpane for visibility
JScrollPane jscrollpane = new JScrollPane(table);
table.setFillsViewportHeight(true);

//add the scrollpane to a panel
JPanel panel = new JPanel();
panel.setLayout(new GridBagLayout());
panel.add(jscrollpane, grid);

//create for use with the dialog
JFrame frame = new JFrame();

JDialog dialog = new JDialog(frame, "My Test Dialog", true); 
dialog.add(panel);
dialog.pack();
dialog.setLocationRelativeTo(null);    //added as advice of Stripies
dialog.setVisible(true);

私の目標は、swing を使用したプログラミングの適切なテクニックを学ぶことなので、建設的な批判はすべて受け入れます。

明確にするために、何かを削除または改善できるかどうかを調べています。

4

1 に答える 1

2

使用する利点は何setLocationByPlatform(true)ですか?

使用setLocationRelativeTo(null)は、例、デモ、およびユーティリティにとって便利な選択です。高品質のアプリケーションは、ユーザーの好みの位置を保持し、場合によってはのインスタンスに最新の設定を記録しますjava.util.Preferences。ユーザーのエクスペリエンスはプラットフォームによって異なるため、setLocationByPlatform(true)その期待に応えるための実装者の最善の努力を表しています。設定がまだ存在しない場合は、デフォルトの場所に適しています。

于 2012-04-05T20:06:13.567 に答える