728x90
package mouse;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JPanel;
//사각형 화면에 그리기용
class Rectangle {
int x, y, w, h;
}
class MyPanel extends JPanel{
BufferedImage img = null;
int img_x = 0, img_y = 0;
Rectangle [] array = new Rectangle[100];
int index = 0;
public MyPanel() {
this.addMouseListener(new MyMouseAdapter());
}
class MyMouseAdapter extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
// TODO 자동 생성된 메소드 스텁
if(index > 100) return;
array[index] = new Rectangle();
array[index].x = e.getX();
array[index].y = e.getY();
array[index].w = 50;
array[index].h = 50;
index++;
repaint();
}
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
for(Rectangle r : array)
if(r != null)
g.drawRect(r.x, r.y, r.w, r.h);
}
}
public class MouseEventTest extends JFrame{
public MouseEventTest() {
setSize(300, 300);
setTitle("마우스로 사각형 그리기");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(new MyPanel());
setVisible(true);
}
public static void main(String[] args) {
MouseEventTest s = new MouseEventTest();
}
}
[실행결과화면]
728x90
'Java > [학교] Java_GUI' 카테고리의 다른 글
자바_GUI_프로젝트_스도쿠게임 (0) | 2021.12.24 |
---|---|
자바_GUI_캡쳐 프로그램 (0) | 2021.12.12 |
[과제] 자바_GUI_2진수를 10진수로 만드는 간단한 프로그램 (0) | 2021.12.12 |
[과제] 자바_GUI_긴문자열에서 숫자만 추출해오기 (0) | 2021.12.12 |
[과제] 자바_GUI_ 소수 판별 및 출력 (0) | 2021.12.12 |