Ich habe eine kleine Funktion geschrieben, die eine Tabelle in einem Dialog anzeigt und Rat sucht, was zu bereinigen ist und welche Programmierpraxis es gibt, wenn es darum geht, mit Swing umzugehen.Welche Verbesserungen sollten an diesem JDialog-Snippet vorgenommen werden?
Welche Verbesserungen können auf alle konstruktive Kritik
//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);
Ich bin offen für meinen Code gemacht werden, wie es mein Ziel, die richtigen Techniken für die Programmierung mit Swing zu lernen.
Um zu klären, schaue ich, ob ich etwas herausnehmen oder verbessern kann.
Um Ihren 'JDialog' zu zentrieren, können Sie einfach' setLocationRelativeTo (null) 'verwenden. – Stripies
Alternativ kann 'setLocationByPlatform (true)' berücksichtigt werden. – trashgod
Ein [sscce] (http://sscce.org/) ist oft dispositiver als ein Fragment, wie oft in den Antworten dieser [Mitwirkenden] (http://stackoverflow.com/tags/swing/topusers) zu sehen ist. – trashgod