SetLayout Funktion main Zweck
public void init_numSolvers() {
for (x = 0; x < 9; x++) {
n++;
num[x] = new Button("" + n);
add(num[x]);
num[x].setBounds(num_x, num_y, 40, 40);
setLayout(null);
num_x += 40;
}
warum setBounds () - Funktion funktioniert nicht ohne setLayout(null) ich will nur verstehen, der Hauptzweck der setLayout(null) - Funktion
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden Sie wollen, Lesen Sie die tutorials und die API, wie Sie klar aussprechen, was setBounds und setLayout hat, aber kurz:
setLayout(...)
Methode ermöglicht Ihnen, das layout der container, oft ein JPanel, zu sagen, FlowLayout, BorderLayout, GridLayout, null-layout, layout oder was auch immer gewünscht wird. Der layout manager unterstützt Sie das Layout für die Komponenten gehalten, die von diesem container.setBounds(...)
Methode wird verwendet, um die Position und Größe einer Komponente, und ist nur sinnvoll, wennnull
layout wird durch den container, diese Komponente.null
layouts undsetBounds(...)
. Während ein Neuling Swing-Programmierer, das scheint der einfachste Weg, um komplexe layouts zu erstellen, wenn mit Ihnen, die Sie erstellen, GUI ' s, die vielleicht gut Aussehen, auf einer Plattform nur. Noch wichtiger ist, Sie erstellen, GUI ' s, die sind fast unmöglich zu warten und zu aktualisieren, ohne dass subtile bugs. Nur verwenden Sie Sie nicht, wenn überhaupt möglich.Beachten Sie, dass Ihr code immer wieder setzt das container-layout auf null innerhalb der for-Schleife. Ich habe keine Ahnung, warum er tut dies wiederholt, da Sie nur brauchen und wollen die container-layout einmal.