Hallo nochmal!
Ich bin nach wie vor, dabei meine Mischung von AWT und Swing zu entfernen, so dass ich wo es geht nur noch Swing-Elemente hab.
Nun zeichne ich in einem JFrame mit der Paint-Methode und hab noch ein Panel mit ein paar Buttons und einem Label.
Leider erscheinen die Buttons erst wenn ich mit der Maus drüber fahre, das Label erscheint erst nach dem ersten Repaint-Aufruf.
Woran kann das liegen?
Liebe Grüße, Sabine
Hier mal der Code...
Ich bin nach wie vor, dabei meine Mischung von AWT und Swing zu entfernen, so dass ich wo es geht nur noch Swing-Elemente hab.
Nun zeichne ich in einem JFrame mit der Paint-Methode und hab noch ein Panel mit ein paar Buttons und einem Label.
Leider erscheinen die Buttons erst wenn ich mit der Maus drüber fahre, das Label erscheint erst nach dem ersten Repaint-Aufruf.
Woran kann das liegen?
Liebe Grüße, Sabine
Hier mal der Code...
Code:
package masterMind.gui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import masterMind.*;
public class GuiMain extends JFrame implements ActionListener {
private MasterMind mm;
private int crrntPeg;
private Interpretation[] interpretations;
private boolean showSolving = false, solved = false;
private Peg peg1, peg2, peg3, peg4, peg5, peg6;
private Peg pegWhite, pegBlack;
private JButton btnHelp, btnInfo, btnSolve, btnNewGame, btnInterpret;
private JLabel status;
public GuiMain(MasterMind mm) {
JPanel p;
this.mm = mm;
this.interpretations = new Interpretation[8];
//Fensterposition
this.setTitle("MasterMind");
this.setSize(370, 500);
this.setResizable(false);
this.setLocationRelativeTo(null);
this.getContentPane().setLayout(null);
this.setBackground(new Color(230, 220, 250));
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
this.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
auswertungClick(e);
}
});
this.setFont(new Font("Arial", Font.BOLD, 12));
p = new JPanel();
p.setLayout(null);
p.setBounds(220, 216, 123, 205);
p.setBackground(this.getBackground());
status = new JLabel(mm.getCrrntTurn() + ". Versuch");
status.setHorizontalAlignment(JLabel.CENTER);
status.setBounds(0, 0, 123, 25);
status.setVisible(true);
p.add(status);
btnHelp = new JButton("Hilfe");
btnHelp.setBounds(0, 40, 123, 25);
btnHelp.addActionListener(this);
p.add(btnHelp);
/*
Hier sind noch ein paar Buttons...
*/
this.getContentPane().add(p);
this.setVisible(true);
}
public void paint(Graphics g) {
/*
Hier steht noch was drin.
*/
}
/*
Hier sind noch ein paar Methoden
*/
private void auswertungClick(MouseEvent e) {
/*
Hier steht noch was drin.
*/
this.repaint();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == this.btnInterpret) {
/*
Hier ist noch etwas Code
*/
this.repaint();
//Lösung anzeigen
}
}
}