swing Java在使用Java创建行时产生错误。awt。图样
我的程序应该在Swing生成的面板上画一条简单的线。除drawLine命令产生的一个错误外,其他一切都正常。这是我的代码:
public static void main(String[] args) {
JFrame f = new JFrame("Swing Paint Demo");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
Graphics.drawLine(20,20,20,20);
}
}
它会产生以下错误: 无法从类型图形对非静态方法drawLine(int,int,int,int)进行静态引用
有什么想法吗
提前谢谢
# 1 楼答案
您需要创建一个类来扩展您想要使用的swing小部件(在本例中,我假设是
JPanel
),并重写paintComponent()
方法(它从几乎所有swing组件的父类继承而来-JComponent
)这样做可以:
编辑: 错误的原因是您试图直接使用
Graphics
类中的方法,而不是它的实例中的方法。Graphics
类本身对swing应用程序一无所知,也不知道如何利用它。关于static
的更好解释可以在here中找到。上面链接的swing教程也很值得一读