1

我写了一个小函数,它将在对话框中显示一个表格,并正在寻找关于清理什么以及在处理摆动时什么是更好的编程实践的建议。

可以对我的代码进行哪些改进

//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 回答