import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Panel;
public class TempTest {
public static void main(String[] args) {
Frame f = new Frame();
Panel p= new Panel();
f.setVisible(true);
f.setBounds(100, 100, 400, 400);
f.add(p);
Graphics g = p.getGraphics();
g.drawRect(100, 100, 100, 100);
}
}
为什么矩形不显示,就只有一个空白框?
8 个解决方案
#1
重写一下panel 的 paint方法,在里面画图,应该是可以的
#2
这样是可以画图,但是这样画出来的图不就写死了么,我要的是先new 出来一个panel,然后再画图,可以随时添加图元的,怎么实现?
#3
你想填充这个矩形框么?
g.setColor(Color.red);
g.filRect(100,100,100,100);
g.setColor(Color.red);
g.filRect(100,100,100,100);
#4
public class TempTest {
public static void main(String[] args) {
Frame f = new Frame();
Panel p= new Panel() {
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
super.paint(g);
g.drawRect(100, 100, 100, 100);
}
};
f.setVisible(true);
f.setBounds(100, 100, 400, 400);
f.add(p);
}
}
一点建议,使用Swing组件,不要再用AWT组件了!
JFrame and JPanel
#5
是我表述有歧义,我的意思是只有一个frame,里面什么都没有,矩形没有画出来
#6
我知道这样能画出来,但是我在程序执行的过程中,想往这块添加图形,怎么做呢
#7
添加图形的话,你需要使用数据结构来记录,然后在
public void paint(Graphics g) 中读取数据结构然后绘制
改变数据结构的时候,再调一下repaint();
不要使用结构化的方法来添加图形...
public void paint(Graphics g) 中读取数据结构然后绘制
改变数据结构的时候,再调一下repaint();
不要使用结构化的方法来添加图形...
#8
你没有执行重绘
#1
重写一下panel 的 paint方法,在里面画图,应该是可以的
#2
这样是可以画图,但是这样画出来的图不就写死了么,我要的是先new 出来一个panel,然后再画图,可以随时添加图元的,怎么实现?
#3
你想填充这个矩形框么?
g.setColor(Color.red);
g.filRect(100,100,100,100);
g.setColor(Color.red);
g.filRect(100,100,100,100);
#4
public class TempTest {
public static void main(String[] args) {
Frame f = new Frame();
Panel p= new Panel() {
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
super.paint(g);
g.drawRect(100, 100, 100, 100);
}
};
f.setVisible(true);
f.setBounds(100, 100, 400, 400);
f.add(p);
}
}
一点建议,使用Swing组件,不要再用AWT组件了!
JFrame and JPanel
#5
是我表述有歧义,我的意思是只有一个frame,里面什么都没有,矩形没有画出来
#6
我知道这样能画出来,但是我在程序执行的过程中,想往这块添加图形,怎么做呢
#7
添加图形的话,你需要使用数据结构来记录,然后在
public void paint(Graphics g) 中读取数据结构然后绘制
改变数据结构的时候,再调一下repaint();
不要使用结构化的方法来添加图形...
public void paint(Graphics g) 中读取数据结构然后绘制
改变数据结构的时候,再调一下repaint();
不要使用结构化的方法来添加图形...
#8
你没有执行重绘