Wie positioniert man/lay-out-Komponenten auf JPanel?
Ich versuche auf position 5 Tasten auf einem JFrame. Vier-Tasten sollten in der ersten Zeile und der fünften sollte man in der zweiten Reihe. Aber hier werden alle Schaltflächen angezeigt, die in einer Reihe und die Hälfte der fünften button aus dem panel. Übrigens, wenn ich mit Rahmen.pack(); my frame kleiner geworden als das, was ich erwartet hatte. Ich will nicht zu ändern Sie die Größe des Rahmens. Ich möchte suchen Sie die fünfte in der zweiten Reihe.
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import javax.swing.*;
public class test {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setBounds(100, 100, 529, 300);
frame.getContentPane().setLayout(new GridLayout(1, 0, 0, 0));
JPanel panel = new JPanel();
frame.getContentPane().add(panel);
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
JButton btnNewButton_4 = new JButton("New button");
panel.add(btnNewButton_4);
JButton btnNewButton_3 = new JButton("New button");
panel.add(btnNewButton_3);
JButton btnNewButton = new JButton("New button");
panel.add(btnNewButton);
JButton btnNewButton_1 = new JButton("New button");
panel.add(btnNewButton_1);
JButton btnNewButton_2 = new JButton("New button");
panel.add(btnNewButton_2);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
- Durch "suchen" meinst du das wirklich "festlegen der Position von" denen"? Wenn ich lese zuerst deinen Titel, ich dachte, dass Sie versuchten, Sie zu finden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
standard-und Buchungs-Beispiele im Oracle tutorial über Wie verwenden von Layout-Managern
verwenden GridLayout (zwei Zeilen) für JPanel, aber alle JButtons haben die gleiche dimension
verwenden GridBagLayout, dann wird jeder von JButtons haben diferrent Größe oder nicht zu
unsichtbar JComponents oder leeren JLabel kann helfen, Sie in die komplizierten Variationen
Sind Sie mit einem BoxLayout, bei dem die Komponenten werden nicht umgebrochen (überprüfen Sie die API-Dokumentation: http://docs.oracle.com/javase/6/docs/api/javax/swing/BoxLayout.html)
Über die Größe, verwenden Sie Systemsteuerung.setMinimumSize(Dimension d)
Was ich tun ist verwenden Sie null als layout-manager und Komponenten selbst. Ein manager arbeitet gut, wenn Sie wollen, dass Ihre Komponenten weitergeleitet werden, wenn das Fenster in der Größe geändert wird, oder Sie nicht wissen, die endgültige Größe des applet etc
Aber die meisten der Zeit, ist nicht wahr, oder über töten
Stattdessen legen Sie einfach die Komponenten, die auf einem raster von Pixeln mit Hilfe
setBounds(x,y,Breite,Höhe);
Beispiel:
Proben
http://sel2in.com/prjs/aplt/go/Ap1a.html
http://sel2in.com/prjs/aplt/go/
null
layout; die nicht-veränderbare Komponenten sind fast sicher schlecht Aussehen, auf manchen Plattformen, für die Beispiel.Können Sie auch verwenden Sie setBounds(arg1 , arg2 , arg3 , arg4) - Methode. Verwenden Sie diese für eine bessere Hilfe. Tun Ohne Layout Manager (Absolute Positioning)