728x90
반응형
패널에 글자가 적힌 레이블이 랜덤으로 나타납니다.
그 레이블을 클릭하면 레이블은 다른곳으로 이동합니다.
package tistory;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ClickPracticeFrame extends JFrame {
public ClickPracticeFrame() {
super("클릭 연습 용 응용프로그램");
Container c = getContentPane();
c.setLayout(null);
JLabel la = new JLabel("C");
la.setLocation(100, 100);
la.setSize(20, 20);
la.addMouseListener(new MyMouseAdapter());
c.add(la);
this.setSize(300, 300);
this.setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
class MyMouseAdapter extends MouseAdapter{
public void mousePressed(MouseEvent e) {
JLabel la = (JLabel)e.getSource();
Container c = la.getParent();
int xBound = c.getWidth() - la.getWidth();
int yBound = c.getHeight() - la.getHeight();
int x = (int)(Math.random()*xBound);
int y = (int)(Math.random()*yBound);
la.setBounds(x, y, xBound, yBound);
}
}
}
public class ClickApp {
public static void main(String[] args) {
// TODO Auto-generated method stub
new ClickPracticeFrame();
}
}
C를 클릭하면
다른곳으로 이동합니다.
728x90
반응형
'자바' 카테고리의 다른 글
자바 GUI 만들기 (1 - 시작) (0) | 2020.08.14 |
---|---|
자바 알파벳만큼(a = 1 b = 2 ...) 출력하기 (0) | 2019.11.06 |
자바 랜덤 숫자 띄워주기 (0) | 2019.11.02 |