Grafik OCH knapp i Swing funkar inte
Hejsan!
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();
}
});
}
}
Svara
Sv: Grafik OCH knapp i Swing funkar inte
Hejsan!
Är ingen javaexpert men testa att skriva
pack(); dvs, storleken på fönstret anpassas efter komponennterna
Svara
Sv: Grafik OCH knapp i Swing funkar inte
Hej.
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
Svara