Ich habe einen Rahmen, in diesem Rahmen habe ich ein Panel mit Box-Layout, in diesem Panel habe ich 4 weitere Panels.benutzerdefinierten Ort für eine Komponente in Box Layout
mainFrame = new JFrame("Basket Game");
mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
mainPanel.add(options);
mainPanel.add(pname);
mainPanel.add(info);
mainPanel.add(gamearea);
mainFrame.setContentPane(mainPanel);
mainFrame.pack();
mainFrame.getContentPane().setBackground(Color.LIGHT_GRAY);
mainFrame.setResizable(false);
mainFrame.setVisible(true);
mainFrame.setSize(600,600);
Das Formular sieht wie folgt aus:
Die erste 3-Panel für mich in Ordnung ist. Aber für das letzte Panel (schwarz) möchte ich einige Komponenten mit benutzerdefinierten Koordinaten hinzufügen. Aber wenn ich versuche, sie mit eigenen hinzuzufügen Koordinaten:
basket.setLocation(500, 500);
gamearea.add(basket);
Es geht direkt oben in der Mitte der Platte (Koordinaten hat keinen Einfluss auf die Lage)
Als ich eingestellt gameareI
s Layout zu null
Ich kann mein Etikett auf dem Panel nicht sehen. Ich denke, ich sollte etwas extra dafür machen. Wie kann ich das machen?
Ihr Hauptfenster ist nur 600x600. Mit Titelleiste, Optionen, Spielername und Info befindet sich y = 500 wahrscheinlich unter dem unteren Rand des Bereichs. – AJNeufeld
Verstehen Sie, wie ein Layout-Manager funktioniert? Verstehst du die Verantwortung, die der Layout-Manager hat? Verstehst du, wer das Zurücksetzen der API mit dem Layout-Manager interagiert? Wenn Sie dies nicht tun, ist ein Null-Layout nicht die richtige Wahl. In fast allen Fällen, wenn Sie denken, dass Sie ein Null-Layout wollen, tun Sie das wahrscheinlich nicht. In diesen seltenen Fällen könnte ein Null-Layout nützlich sein, ein benutzerdefiniertes Layout würde zu weit weniger Problemen und Nacharbeit führen. – MadProgrammer