In beiden meiner Java-Klassen, und die Bücher, die wir in ihnen verwendeten, die eine GUI mit Code auslegten, beteiligte stark den Konstruktor des JFrame. Die Standardtechnik in den Büchern scheint zu sein, alle Komponenten zu initialisieren und sie zu dem JFrame im Konstruktor hinzuzufügen, und anonyme Ereignisbehandlungsroutinen hinzuzufügen, um Ereignisse wo erforderlich zu behandeln, und das ist, was in meiner Klasse befürwortet wird.Best Practice mit JFrame-Konstruktoren?
Dies scheint ziemlich einfach zu verstehen und einfach zu arbeiten, wenn man eine sehr einfache GUI erstellt, aber scheint schnell hässlich und umständlich zu werden, wenn man etwas anderes als eine sehr einfache GUI macht. Hier ist ein kleines Codebeispiel von dem, was ich beschreibe:
public class FooFrame extends JFrame {
JLabel inputLabel;
JTextField inputField;
JButton fooBtn;
JPanel fooPanel;
public FooFrame() {
super("Foo");
fooPanel = new JPanel();
fooPanel.setLayout(new FlowLayout());
inputLabel = new JLabel("Input stuff");
fooPanel.add(inputLabel);
inputField = new JTextField(20);
fooPanel.add(inputField);
fooBtn = new JButton("Do Foo");
fooBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//handle event
}
});
fooPanel.add(fooBtn);
add(fooPanel, BorderLayout.CENTER);
}
}
Ist diese Art der Verwendung des Konstrukteurs des beste Weg, um eine Swing-Anwendung in Java zu programmieren? Wenn ja, welche Techniken kann ich verwenden, um sicherzustellen, dass diese Art von Konstruktor organisiert und wartbar ist? Wenn nicht, was ist die empfohlene Vorgehensweise, um ein JFrame in Java zusammenzustellen?
Sie sagen also, dass Sie JFrame nicht unnötig erweitern müssen, wie ich es oben getan habe, aber in einer separaten Klasse einen neuen JFrame erstellen und ihm Komponenten hinzufügen? Dies scheint eine ziemlich vernünftige Vorgehensweise zu sein. Kennen Sie gute Referenzen, um zu erfahren, wie Swing-GUI-Code strukturiert wird? Danke für die Eingabe. –