Hejsan! Hejsan! Hej.Grafik OCH knapp i Swing funkar inte
Har precis börjat lattja lite med swing och jag försår inte vad jag gör fel...
Jag skapar en JFrame, i den skapar jag en JPanel.
Nu vill jag skapa en knapp (och visa den) och samtidigt rita en fylld fyrkant.
Problemet är att när jag startar så syns bara fyrkanten, men när jag drar över den tänkta läget för knappen så syns den också...
När jag sedan ändrar storleken på fönstret så syns fortf. knappen med fyrkanten ritas inte ut...
Varför?
edit: Fyrkanten ritas ut när man gör fönstret mindre men inte större...
public class TestJFrame extends JFrame{
JButton b;
JPanel jp;
public TestJFrame() {
super();
jp = new JPanel();
b = new JButton("knapp");
jp.add(b);
this.add(jp);
setSize(400,400);
setVisible(true);
}
public void paint(Graphics g){
g.setColor(Color.BLACK);
g.fillRect(100,100,100,100);
}
public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
TestJFrame t = new TestJFrame();
}
});
}
}Sv: Grafik OCH knapp i Swing funkar inte
Är ingen javaexpert men testa att skriva
pack(); dvs, storleken på fönstret anpassas efter komponennternaSv: Grafik OCH knapp i Swing funkar inte
Du har glömt att anropa paint() i din superklass, dvs. din JFrame.
Ändra din paint-metod så att den ser ut så här:
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.BLACK);
g.fillRect(100, 100, 100, 100);
}
/Anders