java的一个图形化小程序
其实就是drawline()的使用,我是初学者,不知道哪里出错了,不知道为什么总是Graphaic的对象总是null??importjava.awt.*;importja...
其实就是drawline()的使用,我是初学者,不知道哪里出错了,不知道为什么总是Graphaic 的对象总是null??
import java.awt.*;
import java.lang.*;
//import javax.swing.*;
public class Draw
{ Frame f=new Frame("Test");
Graphics g=f.getGraphics();
public void init()
{
f.setSize(300,300);
f.setVisible(false);
g.setColor(Color.red);
g.drawLine(1,1,7,7);
}
public static void main(String[] args)
{
Draw dl=new Draw();
dl.init();
}
}
错误信息:
Exception in thread "main" java.lang.NUllPointerException
at Draw.init(Draw.java:14)
at Draw.main(Draw.java:22)
下面的开始两个答案很遗憾都不对,我想问一下就java画一条线而言到底,我的程序对伐
四楼的你可以去运行一下这个程序,我设为"可见"的话,直线还是画不出 展开
import java.awt.*;
import java.lang.*;
//import javax.swing.*;
public class Draw
{ Frame f=new Frame("Test");
Graphics g=f.getGraphics();
public void init()
{
f.setSize(300,300);
f.setVisible(false);
g.setColor(Color.red);
g.drawLine(1,1,7,7);
}
public static void main(String[] args)
{
Draw dl=new Draw();
dl.init();
}
}
错误信息:
Exception in thread "main" java.lang.NUllPointerException
at Draw.init(Draw.java:14)
at Draw.main(Draw.java:22)
下面的开始两个答案很遗憾都不对,我想问一下就java画一条线而言到底,我的程序对伐
四楼的你可以去运行一下这个程序,我设为"可见"的话,直线还是画不出 展开
4个回答
展开全部
public Graphics getGraphics()为组件创建一个图形上下文。如果组件当前是不可显示的,则此方法返回 null。
f=new Frame("Test");
f.setVisible(true);
g=f.getGraphics();
f.setSize(300,300);
g.setColor(Color.red);
g.drawLine(10,10,70,70);
测试好像不能画出一条直线。但是不报java.lang.NUllPointerException 了
你的程序达不到你想要的结果。就是画不出来直线。
f=new Frame("Test");
f.setVisible(true);
g=f.getGraphics();
f.setSize(300,300);
g.setColor(Color.red);
g.drawLine(10,10,70,70);
测试好像不能画出一条直线。但是不报java.lang.NUllPointerException 了
你的程序达不到你想要的结果。就是画不出来直线。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主,你犯了一个初学者的错误!
要想得到一个Graphics 的对象,必须确保该组件一定是可见的。所以
public void init()
{
Frame f=new Frame("Test");
f.setSize(300,300);
f.setVisible(true);
Graphics g=f.getGraphics();
g.setColor(Color.red);
g.drawLine(1,1,7,7);
}
要想得到一个Graphics 的对象,必须确保该组件一定是可见的。所以
public void init()
{
Frame f=new Frame("Test");
f.setSize(300,300);
f.setVisible(true);
Graphics g=f.getGraphics();
g.setColor(Color.red);
g.drawLine(1,1,7,7);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Draw
{ Frame f=null;//new Frame("Test");
Graphics g=null;//f.getGraphics();
public void init()
{
f=new Frame("Test");
g=f.getGraphics();
f.setSize(300,300);
f.setVisible(false);
g.setColor(Color.red);
g.drawLine(1,1,7,7);
}
{ Frame f=null;//new Frame("Test");
Graphics g=null;//f.getGraphics();
public void init()
{
f=new Frame("Test");
g=f.getGraphics();
f.setSize(300,300);
f.setVisible(false);
g.setColor(Color.red);
g.drawLine(1,1,7,7);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正确的应该如下:测试可用
import java.awt.*;
// import java.lang.*;
import javax.swing.*;
class Draw extends JPanel
{
public void paintComponent (Graphics g)
{
super.paintComponent(g);
g.setColor(Color.red);
g.drawLine(30,50,100,50);
g.drawString("画一条直线",20,20);
}
}
public class PaintTest
{
public static void main(String[] args)
{
JFrame f=new JFrame("Test");
f.setSize(300,300);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(new Draw());
}
}
import java.awt.*;
// import java.lang.*;
import javax.swing.*;
class Draw extends JPanel
{
public void paintComponent (Graphics g)
{
super.paintComponent(g);
g.setColor(Color.red);
g.drawLine(30,50,100,50);
g.drawString("画一条直线",20,20);
}
}
public class PaintTest
{
public static void main(String[] args)
{
JFrame f=new JFrame("Test");
f.setSize(300,300);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(new Draw());
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询