|
分類:[Java]
お願い致します。
当方プログラミング初心者でjavaでマウスのドラッグで線を引くプログラムを作りたいと思っています。
線の描画の処理に関するサイトを参考に作成はしたものの上手く機能しません。
public class test extends JPanel{
private JFrame jf = null;
private JPanel cp = null;
Point start = new Point(0,0);
Point end = new Point(0,0);
private JFrame getJFrame() {
if (jf == null) {
jf = new JFrame();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(640, 480);
jf.setLocationRelativeTo(null);
jf.setTitle("test");
jf.setContentPane(getContentPane());
}
return jf;
}
private JPanel getContentPane() {
if (cp == null) {
cp = new JPanel();
cp.addMouseMotionListener(new MouseInputAdapter() {
public void mouseDragged(MouseEvent e) {
end = e.getPoint();
cp.repaint();
}
public void mouseMoved(MouseEvent e) {
start = e.getPoint();
}
});
}
return cp;
}
public void paintComponent(Graphics g) {
g.drawLine(start.x, start.y, end.x, end.y);
start = end;
}
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
SwingUtilities.invokeLater(new Runnable() {
public void run() {
test application = new test();
application.getJFrame().setVisible(true);
}
});
}
}
突っ込みどころが多々あるとは思いますがよろしくお願いいたします。
|