使用 AWT 画线
drawLine using AWT
我刚开始使用 AWT 进行 GUI。框架正在打开,但线没有显示。
import java.awt.*;
import java.awt.event.*;
class A extends Frame
{
public static void main(String args[])
{
Frame f= new Frame();
f.setTitle("New Frame");
f.setSize(1000,1000);
f.setVisible(true);
f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent we){System.exit(0);}});
}
public void paint(Graphics g)
{
g.setColor(Color.blue);
g.drawLine(60,500,230,5);
}
}
您创建的是 Frame 对象,而不是 A
对象,因此永远不会调用您的 paint 方法。
而不是
Frame a = new Frame();
尝试
A a = new A();
旁注:您的 paint 方法重写应该在其中调用 super 的方法。
话虽如此,您为什么要使用 AWT,这个库现在已经被 两个 更新的图形库取代,首先是 Swing,现在是 JavaFx? AWT 此时已经死了。
我刚开始使用 AWT 进行 GUI。框架正在打开,但线没有显示。
import java.awt.*;
import java.awt.event.*;
class A extends Frame
{
public static void main(String args[])
{
Frame f= new Frame();
f.setTitle("New Frame");
f.setSize(1000,1000);
f.setVisible(true);
f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent we){System.exit(0);}});
}
public void paint(Graphics g)
{
g.setColor(Color.blue);
g.drawLine(60,500,230,5);
}
}
您创建的是 Frame 对象,而不是 A
对象,因此永远不会调用您的 paint 方法。
而不是
Frame a = new Frame();
尝试
A a = new A();
旁注:您的 paint 方法重写应该在其中调用 super 的方法。
话虽如此,您为什么要使用 AWT,这个库现在已经被 两个 更新的图形库取代,首先是 Swing,现在是 JavaFx? AWT 此时已经死了。