关于java的Graphics类的问题 5
importjava.awt.Color;importjava.awt.Graphics;importjava.awt.Toolkit;importjavax.swing...
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Toolkit;
import javax.swing.JFrame;
public class WindowDemo extends JFrame{
public WindowDemo(){
super("窗口示例");
this.setVisible(true);
this.setResizable(false);
int width=Toolkit.getDefaultToolkit().getScreenSize().width;
int height=Toolkit.getDefaultToolkit().getScreenSize().height;
this.setSize(200,100);
this.setLocation((width-200)/2,(height-100)/2);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void paint(Graphics g){
g.drawString("五子棋",20,40);
}
public static void main(String[] args){
WindowDemo w=new WindowDemo();
}
}
以上这段代码为什么运行的时候会有黑色部分,怎样去除黑色部分,让字体显示出来? 展开
import java.awt.Graphics;
import java.awt.Toolkit;
import javax.swing.JFrame;
public class WindowDemo extends JFrame{
public WindowDemo(){
super("窗口示例");
this.setVisible(true);
this.setResizable(false);
int width=Toolkit.getDefaultToolkit().getScreenSize().width;
int height=Toolkit.getDefaultToolkit().getScreenSize().height;
this.setSize(200,100);
this.setLocation((width-200)/2,(height-100)/2);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void paint(Graphics g){
g.drawString("五子棋",20,40);
}
public static void main(String[] args){
WindowDemo w=new WindowDemo();
}
}
以上这段代码为什么运行的时候会有黑色部分,怎样去除黑色部分,让字体显示出来? 展开
展开全部
你继承了Applet类,而Applet类里面会有一个属于自己的Graphics对象,这样才能有画的对象。所以,这里应该是java本身的机制帮我们进行了实例化。而且paint方法也不是我们用户调用的,是系统自己执行的,我们不需要传入一个Graphics对象,所以这个Graphics只是applet自身包含的Graphics对象的引用而已,其构造这个applet已经实例化了Graphics了。查了java api Graphics是抽象类。 Graphicsprotected Graphics()构造一个新的 Graphics 对象。此构造方法是用于图形上下文的默认构造方法。 因为 Graphics 是一个抽象类,所以应用程序不能直接调用此构造方法。图形上下文从其他图形上下文获取,或者通过在组件上调用 getGraphics 来创建。
追问
那这段代码应该怎么改?我继承的是JFrame类,继承这个类可不可以使用Graphics来绘制?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询