Die Frage ist ziemlich einfach. Ich erkannte meinen Code ein wenig gereinigt werden könnte, wenn ich durfte Komponenten zu einem JPanel wie folgt hinzuzufügen:Ist es möglich, mehrere Komponenten zu JPanel in einer Anweisung hinzuzufügen?
//north panel
JPanel northPanel = new JPanel(new GridLayout(0,3));
btnAdd = new JButton("Add");
btnEdit = new JButton("Edit");
btnDelete = new JButton("Delete");
northPanel.add(btnAdd, btnEdit, btnDelete);
statt wie folgt aus:
//north panel
JPanel northPanel = new JPanel(new GridLayout(0,3));
btnAdd = new JButton("Add");
btnEdit = new JButton("Edit");
btnDelete = new JButton("Delete");
northPanel.add(btnAdd);
northPanel.add(btnEdit);
northPanel.add(btnDelete);
Gibt es eine Möglichkeit, es zu tun? Ich habe SO und das Internet angeschaut, einschließlich Oracles Dokumentation, und ich weiß, dass es keine .add() - Methode gibt, die mit dieser speziellen Syntax erstellt wurde, aber ich würde gerne wissen, ob es eine andere Methode mit dieser Funktionalität gibt.
gute Lösung:
Vielen Dank für Ihr Feedback. Es macht Sinn, dass eine einzelne Aussage tatsächlich verschlungener wäre, wenn sie in der von mir beschriebenen Weise durchgeführt würde. L. Mehmeti schlug vor, die Komponenten in einem Array zu speichern und eine Methode zu erstellen, die alle Komponenten im Array hinzufügt, was perfekt zu der Frage passt. Auf diese Weise, wenn es eine Menge von Komponenten zu bekommen, die Bestellung ist leicht zu verfolgen, anstatt durch eine Reihe von separaten Konstruktoren suchen und Anweisungen hinzufügen.
Es gibt keinen Vorteil zu versuchen, Dinge in einer einzigen Anweisung zu tun. In der Tat ist es besser, einzelne Anweisungen aus Sicht der Fehlersuche und Wartung zu verwenden. Es ist einfacher, den Code zu lesen und zu verstehen, wenn er in einer einzigen Zeile geschrieben ist. Versuchen Sie nicht einmal, dies zu tun. – camickr
Der einzige Weg wäre, alles in eine Methode einzufügen – DarkV1
Aber das ist das gleiche wie das, was Sie gerade tun. außer alles ist in einer Methode organisiert – DarkV1