C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

マウスによる線の描画処理


(過去ログ 129 を表示中)

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■76428 / inTopicNo.1)  マウスによる線の描画処理
  
□投稿者/ のこ (1回)-(2015/07/10(Fri) 13:15:32)

分類:[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);
			}
		});
	}
}

突っ込みどころが多々あるとは思いますがよろしくお願いいたします。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -