728x90
반응형
package Ex01;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class DrawPolygonEx extends JFrame {
public DrawPolygonEx() {
setTitle("다각형 그리기");
setSize(300, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setContentPane(new MyPanel());
setVisible(true);
}
class MyPanel extends JPanel {
private Vector<Integer> x = new Vector<>();
private Vector<Integer> y = new Vector<>(); //x와 y를 벡터형식으로 잡겠다는 뜻
public MyPanel() {
this.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
x.add(e.getX());
y.add(e.getY());
repaint();
}
});
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.MAGENTA);
// drawPolygon()을 호출하기 위한 다각형 점 들의 배열 만들기
// 배열 공간 확보
int xs[] = new int[x.size()];
int ys[] = new int[y.size()];
// 배열의 값 채우기
for (int i = 0; i < x.size(); i++) {
xs[i] = x.get(i);
ys[i] = y.get(i);
}
// 다각형 그리기
g.drawPolygon(xs, ys, xs.length);
}
}
public static void main(String[] args) {
new DrawPolygonEx();
}
}
728x90
반응형
'JAVA > 예제' 카테고리의 다른 글
[JAVA] HashMap을 이용한 학생검색 (0) | 2022.10.27 |
---|---|
[JAVA] Thread를 활용한 버블게임 (0) | 2022.10.26 |
[JAVA] ArrayList를 활용한 학생관리 (0) | 2022.10.26 |
[JAVA] Vector를 사용해 평균값 구하기 (0) | 2022.10.26 |
[JAVA] ArrayList를 사용하여 학점 구하기 (0) | 2022.10.26 |
댓글