プロが教えるわが家の防犯対策術!

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

A 回答 (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);
}

}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!