java 这段代码怎么显示不了图形

来源:百度知道 编辑:UC知道 时间:2024/05/13 05:55:41
import javax.swing.*;
import java.awt.*;
class Picture{
public static void main(String[] args){
JFrame win;
Container contentPane;
Graphics g;

win= new JFrame("My First Rectangle");
win.setSize(300,200);
win.setLocation(100,100);
win.setVisible(true);

contentPane= win.getContentPane();
g=contentPane.getGraphics();
g.setColor(Color.BLUE);
g.drawRect(0,0,30,30);
g.drawRoundRect(50,50,50,50,20,20);
g.fillRect(175,50,100,30);
}
}

不是这样子的
是用paint(Griphics g)
{
g.setColor(Color.BLUE);
g.drawRect(0,0,30,30);
g.drawRoundRect(50,50,50,50,20,20);
g.fillRect(175,50,100,30);
}

这个paint方法是系统自动调用的...它是容器的方法..
所以一般用JPanel或者Container

////在paint()里画

import javax.swing.*;
import java.awt.*;
class Picture{
public static void main(String[] args){
JFrame win;
win= new JFrame("My First Rectangle"){

public void paint(Graphics g){
g.drawRect(0,0,30,30);
g.drawRoundRect(50,50,50,50,20,20);
g.fillRect(175,50,100,30);

}

};
win.setSize(300,200);
win.setLocation(100,100);
win.setVisible(true);
}
}

你需要加一个方法
public void paint(Graphics g)
{
}
将你的绘图的代码放到这里面,不用显示的调用。
它会自己调用的