我想写一个画线的JFrame,想用代码写,但是我创建了一个类,应该怎么将这个类扩展为JFrame,我用的是netbeans6   在线等。

解决方案 »

  1.   

    继承于JFrame,但JFrame是一个框架容器,想要画线,就要在JFrame里添加一个JPanel,在JPanel上画线。
      

  2.   

    写了个小例子, 可以参考一下:import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;public class Test01 extends JPanel {
    private static final long serialVersionUID = 5065226994867636859L;

    private int startPointX, startPointY;
    private int endPointX, endPointY; public Test01() {
    this.addMouseListener(new MouseAdapter() {
    @Override
    public void mousePressed(MouseEvent e) {
    startPointX = e.getX();
    startPointY = e.getY();
    }
    }); this.addMouseMotionListener(new MouseMotionAdapter() {
    @Override
    public void mouseDragged(MouseEvent e) {
    endPointX = e.getX();
    endPointY = e.getY(); Test01.this.repaint();
    }
    });
    } @Override
    protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.setColor(Color.BLACK);
    g.drawLine(startPointX, startPointY, endPointX, endPointY);
    } private static void createGUIAndShow() {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(600, 600); JPanel panel = new Test01();
    frame.getContentPane().add(panel); frame.setVisible(true);
    } public static void main(String args[]) {
    SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    Test01.createGUIAndShow();
    }
    });
    }
    }