我已经尝试过使用此代码画一条线,并且效果很好.
import java.awt.*;
import javax.swing.*;
public class New extends JFrame {
public New() {
setSize(960, 960);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void paint(Graphics g) {
g.drawLine(0, 480, 960, 480);
}
public static void main(String[] args) {
New n = new New();
}
}
我也尝试了下面的代码来画一条线,但是框架中没有线.
import java.awt.*;
import javax.swing.*;
public class Test {
public Test() {
JFrame f = new JFrame("Test");
f.setSize(960, 960);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
public void paint(Graphics g) {
g.drawLine(0, 480, 960, 480);
}
public static void main(String []args) {
Test t = new Test();
}
}
我认为这两个摘要没有区别.我错了吗?有什么区别吗?
解决方法:
JFrame是在构造函数中声明的,这意味着将在创建Test后将其删除.同样,paint方法不属于JFrame,而是属于Test.所以它不会被调用.