永发信息网

关于java.awt.Graphics g问题

答案:2  悬赏:0  手机版
解决时间 2021-03-23 15:35
  • 提问者网友:抽煙菂渘情少年
  • 2021-03-22 18:50
关于java.awt.Graphics g问题
最佳答案
  • 五星知识达人网友:雪起风沙痕
  • 2021-03-22 18:58
因为 Graphics 是一个抽象类,所以应用程序不能直接调用此构造方法。Graphics可以从其他图形上下文获取,或者通过在swing组件上调用 getGraphics 来创建。

public Graphics getGraphics()为组件创建一个图形上下文。如果组件当前是不可显示的,则此方法返回 null。
返回:组件的图形上下文,如果其没有,则返回 null
从以下版本开始:JDK1.0
另请参见:paint(java.awt.Graphics)

例如:
JFrame jf=new JFrame();
jf.setVisible(true);
Graphics g=jf.getGraphics();
然后再使用g
rec_draw.draw(g);
rec_color.draw(g);
如果画不上的话,尝试把jf.setVisible(true);放在rec_color.draw(g);后面,不敢保证一定能画上,因为在swing组件上画图的一般方法是重写paint()方法,例如:
class DrawPanel extends JPanel {
public DrawPanel() {
super();
}
public void paint(Graphics g) {
g.setColor(Color.red);
g.drawRect(0,0,100,100);
}
public static void main(String args[]){
JFrame jf=new JFrame();
jf.setSize(600,600);
jf.setLocation(200,200);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.getContentPane().setLayout(new BorderLayout());
jf.getContentPane().add(new DrawPanel(),"Center");
jf.setVisible(true);
}

}
你要找实例的话,建议找一本书学学吧,那样更系统一点
全部回答
  • 1楼网友:冷風如刀
  • 2021-03-22 19:42
如果你继承自 JFrame 对应的方法里会有这个参数的,
比如

public void paintComponent(Graphics g) 这个方法
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯