初始化的问题,刚学Java ,多多帮忙! 的确g没有被初始化。应该这样:Graphics g=new Graphics(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对java要求把变量都初始化 对象在没有初始之前是不能够使用的!Graphics g;//这样只会产生一个reference,并没有产生实际的对象g.drawRect(....);//没有产生对象就调用对象的方法,肯定会出错的。Graphics 是个抽象类,不能实例化的。给你个例子你看看吧:import java.awt.*;import java.awt.event.*;class Temp extends Frame { public void paint(Graphics g) { super.paint(g); g.drawString("Hello ",50, 80); } public static void main(String[] args) { Temp f = new Temp(); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0); } }); f.setBounds(100, 100, 200, 150); f.show(); }} Graphics g;//g=nullg.drawRect(15, 10, 275, 90);//null怎么draw 我Graphics g = new Graphics()但是编译的时候说错误,错误代码:java.awt.Graphics是虚函数,不能被对象初始化 Graphics是指你绘图的一个抽象的绘图环境,这个绘图环境是由某种容器(如canvas),或者组件(component)提供的。 yuanmeng163(今天我有空) 提供了一个简单易懂的代码,你可以参考。 wjohen(孤帆) 我试了你的程序,结果是不能被实例化,而不是初始化Test.java:6: java.awt.Graphics is abstract; cannot be instantiated yuanmeng163(今天我有空)是一种使用方式,还有就是 public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); Dimension d = getSize(); int gridWidth = d.width / 6; int gridHeight = d.height / 2;省略其他,如需要可以给你一个完整的代码,自己研究一下! Graphics只有在图形对象中使用,如JFrame, Frame,Dialog等等.你要显示图形的话,就需要用上面提及的这些类,这样在paint(...)中,Graphics就自动给你了,不需要初始化. 你如果非要使用Graphics类的话,要自己写一个类来继承这个抽象类,否则是不能初始化的。那样的话,你就要实现这个抽象类中声明的所有抽象函数。 高分求解!!如何将音频写入服务器文件夹下? 解2元一次方程组(初级),求完善~~~~~~~~~~ 视图有什么好处?写一个视图sql java垃圾回收问题 applet的class文件可以放到WEB-INF/class目录中吗? 关于多个线程结束的问题? 一个书上的例子,没看明白 怎么办 关于 JBUILDE 与 JRUN!!!!!!1 java画直线,画出来的直线断不了 能帮就一定要帮我~~~~~~~~~~` 怎么样使文本框里的字居右显示?
java要求把变量都初始化
Graphics g;//这样只会产生一个reference,并没有产生实际的对象
g.drawRect(....);//没有产生对象就调用对象的方法,肯定会出错的。Graphics 是个抽象类,不能实例化的。给你个例子你看看吧:
import java.awt.*;
import java.awt.event.*;class Temp extends Frame {
public void paint(Graphics g) {
super.paint(g);
g.drawString("Hello ",50, 80);
} public static void main(String[] args) {
Temp f = new Temp(); f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
f.setBounds(100, 100, 200, 150);
f.show();
}
}
g.drawRect(15, 10, 275, 90);//null怎么draw
yuanmeng163(今天我有空) 提供了一个简单易懂的代码,你可以参考。
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
Dimension d = getSize();
int gridWidth = d.width / 6;
int gridHeight = d.height / 2;
省略其他,如需要可以给你一个完整的代码,自己研究一下!