用Java画线

我已经尝试过使用此代码画一条线,并且效果很好.

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.所以它不会被调用.

上一篇:从java.awt.geom.Area转换为java.awt.Polygon


下一篇:import导包的规则