• ベストアンサー

javaのプログラムについてなのですが、マウスのボタンを押すたびに,ボ

javaのプログラムについてなのですが、マウスのボタンを押すたびに,ボタンを押した点を順に結んで折れ線を描くプログラムを作成したいのですが、教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

class Q5582456 extends javax.swing.JFrame implements java.awt.event.MouseListener{ private java.util.ArrayList<java.awt.Point> points; Q5582456(){ points = new java.util.ArrayList<java.awt.Point>(); this.addMouseListener(this); } public void mouseClicked(java.awt.event.MouseEvent e){ points.add(e.getPoint()); this.repaint(); } public void mouseEntered(java.awt.event.MouseEvent e){ } public void mouseExited(java.awt.event.MouseEvent e){ } public void mousePressed(java.awt.event.MouseEvent e){ } public void mouseReleased(java.awt.event.MouseEvent e){ } public void paint(java.awt.Graphics g){ g.setColor(java.awt.SystemColor.control); g.fillRect(0,0,this.getWidth(),this.getHeight()); int[] xs; int[] ys; xs = new int[this.points.size()]; ys = new int[this.points.size()]; for(int i = 0;i < this.points.size();i++){ xs[i] = (int)this.points.get(i).getX(); ys[i] = (int)this.points.get(i).getY(); } g.setColor(java.awt.Color.BLACK); g.drawPolyline(xs,ys,points.size()); } public static void main(String[] args){ Q5582456 form1 = new Q5582456(); form1.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); form1.setSize(800, 600); form1.setVisible(true); } }

関連するQ&A

専門家に質問してみよう