Hy,
bin gerade dabei meine ersten Versuche mit dem GridBagLayout zu machen. Habe an Hand eines Beispieles probiert mal eine kleine Eingabemaske zu erstellen. Das Problem ich bekomme nur eine NullPointerException, wenn ich das Programm ausführe. Kann mir jemand weiterhelfen? Danke!!!
Zur Erklärung: habe in einer anderen Klasse ein JFrame mit einem Menü. Wenn ich auf einem Menüpunkt klicke, soll dann ein neues Fenster aufgehen, wo der Inhalt von hier drüber angezeigt werden soll.
So rufe ich das in der anderen Klasse auf:
Wenn ich eine andere Klasse mit nem anderen Layout aufrufe geht das. Denke ja mal, dass was bei meinem GridBagLayout falsch ist!
bin gerade dabei meine ersten Versuche mit dem GridBagLayout zu machen. Habe an Hand eines Beispieles probiert mal eine kleine Eingabemaske zu erstellen. Das Problem ich bekomme nur eine NullPointerException, wenn ich das Programm ausführe. Kann mir jemand weiterhelfen? Danke!!!
Code:
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import main.Hauptframe;
public class Test extends JDialog
{
public Test(Hauptframe main)
{
super(main);
JLabel name = new JLabel();
JLabel password = new JLabel();
JTextField field1 = new JTextField();
JTextField field2 = new JTextField();
JButton ok = new JButton();
//Layout setzen und Komponenten hinzufügen
GridBagLayout gridBag = new GridBagLayout();
GridBagConstraints constraints = null;
this.getContentPane().setLayout(gridBag);
makeConstraints(constraints, 0, 0, 1, 1, 10, 40);
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.EAST;
gridBag.setConstraints(name, constraints);
add(name);
makeConstraints(constraints, 1, 0, 1, 1, 90, 0);
constraints.fill = GridBagConstraints.HORIZONTAL;
gridBag.setConstraints(field1, constraints);
add(field1);
makeConstraints(constraints, 0, 1, 1, 1, 0, 40);
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.EAST;
gridBag.setConstraints(password, constraints);
add(password);
makeConstraints(constraints, 1, 1, 1, 1, 0, 0);
constraints.fill = GridBagConstraints.HORIZONTAL;
gridBag.setConstraints(field2, constraints);
add(field2);
makeConstraints(constraints, 0, 2, 2, 1, 0, 20);
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.CENTER;
gridBag.setConstraints(ok, constraints);
add(ok);
this.setModal(true);
this.setResizable(false);
}
public void makeConstraints(GridBagConstraints gbc, int gx, int gy, int gw, int gh, int wx, int wy)
{
gbc.gridx = gx;
gbc.gridy = gy;
gbc.gridwidth = gw;
gbc.gridheight = gh;
gbc.weightx = wx;
gbc.weighty = wy;
}
public Insets getInsets()
{
return new Insets(10, 30, 10, 30);
}
}
Zur Erklärung: habe in einer anderen Klasse ein JFrame mit einem Menü. Wenn ich auf einem Menüpunkt klicke, soll dann ein neues Fenster aufgehen, wo der Inhalt von hier drüber angezeigt werden soll.
So rufe ich das in der anderen Klasse auf:
Code:
(new Test(hauptframe)).setVisible(true);
Wenn ich eine andere Klasse mit nem anderen Layout aufrufe geht das. Denke ja mal, dass was bei meinem GridBagLayout falsch ist!