Hallo ich bin neu in der GUI Programmierung und komme bei einem Punnkt nicht weiter.
Ich habe eine Klasse
und in meiner main Klasse führe ich die Klasse aus und möchte eine Linie hinzufügen
Das Fenster erscheint, aber wieso kann ich das rechteck nicht zeichnen, bzw. es erscheint nicht, unter der Voraussetzung das ich in den else Zweig hineingelange und vorher bild.create() aufgerufen habe?
Habe das Gefühl das man zur Laufzeit nicht so einfach ein JPanel hinzufügen kann, was ziemlich blöd wäre..
Die Klasse ist stark vereinfacht und abgeändert, da ich den Code nicht so einfach posten kann.
Ich habe eine Klasse
Java:
public class bild extends JPanel {
public bild () {
}
public void create(){
JFrame frame= new JFrame();
frame.setSize(100, 190);
frame.setLocation(100,100);
frame.setVisible(true);
Container con = frame.getContentPane();
con.setBackground(Color.WHITE);
frame.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 35));
JPanel pic_1 = new JPanel();
FlowLayout fl_pic_1 = (FlowLayout) pic_1.getLayout();
fl_pic_1.setVgap(40);
fl_pic_1.setHgap(40);
pic_1.setVisible(true);
frame.add(pic_1);
GridBagConstraints gbc = new GridBagConstraints();
gbc.insets = new Insets(0, 0, 5, 5);
gbc.gridx = 5;
gbc.gridy = 0;
}
}
und in meiner main Klasse führe ich die Klasse aus und möchte eine Linie hinzufügen
Java:
public static bild frame= new bild();
..
if(..)
frame.create();
else{
JPanel rechteck = new JPanel();
FlowLayout fl_rechteck = (FlowLayout) rechteck.getLayout();
fl_rechteck.setVgap(10);
fl_rechteck.setHgap(20);
rechteck.setBackground(Color.BLACK);
rechteck.setVisible(true);
frame.add(rechteck);
frame.repaint();
}
Das Fenster erscheint, aber wieso kann ich das rechteck nicht zeichnen, bzw. es erscheint nicht, unter der Voraussetzung das ich in den else Zweig hineingelange und vorher bild.create() aufgerufen habe?
Habe das Gefühl das man zur Laufzeit nicht so einfach ein JPanel hinzufügen kann, was ziemlich blöd wäre..
Die Klasse ist stark vereinfacht und abgeändert, da ich den Code nicht so einfach posten kann.
Zuletzt bearbeitet: