JButton und JTextField verschwinden

Also ich weis nicht wieso aber immer wenn ich einen meiner Knöpfe in meiner selbst gemachten GUI drücke, macht er zwar was ich will(zeichnen) aber das JTextField und die JButtons verschwinden und tauchen nur auf wenn der Cursor sie streift


public class Weltenhaupt extends JFrame implements ActionListener {
/**
*
*/

static int maxB,maxH;
static int feldsize;
static int flaeche;
static short rasterQuestion;
int Ecken=0;
int mitteX=maxB/2,mitteY=maxH/2;
JButton Eck4Btn = new JButton("Vierecke");
JButton Eck6Btn=new JButton("Sechsecke");
JLabel FIFCTLbl= new JLabel("Flaeche in Felder ein Feld gleich Flaeche 1");
JTextField FlaecheInFeldernChoiceTxt= new JTextField(4);

public Weltenhaupt() {
super("Weltenhaupt");
setSize(750,750);
setLocation(300,300);
this.setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
JPanel aktionGround= new JPanel();
aktionGround.setLayout(new FlowLayout(FlowLayout.CENTER));
add(aktionGround);
setContentPane(aktionGround);
Eck4Btn.addActionListener(this);
Eck6Btn.addActionListener(this);
aktionGround.add(Eck4Btn);
aktionGround.add(Eck6Btn);
aktionGround.add(FIFCTLbl);
aktionGround.add(FlaecheInFeldernChoiceTxt);



}
 
Moin!
Also ich weis nicht wieso aber immer wenn ich einen meiner Knöpfe in meiner selbst gemachten GUI drücke, macht er zwar was ich will(zeichnen) aber das JTextField und die JButtons verschwinden und tauchen nur auf wenn der Cursor sie streift

Und wie genau zeichnest du? Ich denke nämlich mal, das du eine der paint Methoden überschreibst, und zuanfangs nicht die super Methode aufrufst... Falls dieser nämlich fehlt, solltest du ihn mal hinzufügen...

*grüssle*
MeinerEiner
 
danke!
Ich wusste nicht das es mehrere paint methoden gibt!
Ich über schreibe tatsächlich paint:

public void paint(Graphics g) {
super.paint(g);
}

Rufe aber die Super Methode auf.
In den Methoden in dennen ich zeichen nehme ich einfach:

Graphics g=getGraphics();

und zeichne dann z.b. mit g.drawString("XY",x,y); irgendwas.
Soll ich den gesammten Quellcode posten?
 
Soll ich den gesammten Quellcode posten?
Kannst du gerne tun, wenn es weiterhin Probleme gibt ;)

Du solltest statt der paint Methode die paintComponent Methode überschreiben. D.h. alles was gezeichnet werden soll, da hinein. Beziehungsweise alle Methodenaufrufe, die fürs Zeichnen zuständig sind. Und statt mit getGraphics() dir ein Graphics Object zu holen, nimm mal lieber das, was du durch paintComponent bekommst.(Auch wenn es dassselbe sein müsste)...
Auch da nicht den super Aufruf vergessen.

Tja und wenns immer noch net klappt, wie gesagt, mal ein bisserl mehr zeigen vom Code..

*grüssle*
MeinerEiner
 
Zurück