티스토리 뷰

반응형

⊙ 문제

 

마우스를 클릭할 때마다 프레임의 컨텐트페인 배경색이 랜덤하게 변경되는 프로그램을 작성하시오.

 

JFrame 객체의 내부에 있는 컨텐트페인은 getContentPane() 메서드를 이용해 구할 수 있다. 컨텐트페인은 Container 타입이므로 JPanel 타입으로 변환할 수 있다.

 

⊙ 문제 접근 과정

 

Math.random() 함수를 이용해 rgb 색을 랜덤으로 바꿔준다.

 


 

⊙ 문제 풀이

 

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class Main extends JFrame {
    public Main() {
        setTitle("임의의 배경색");
        getContentPane().addMouseListener(new MyMouseListener());
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300, 100);
        setVisible(true);
    }
    class MyMouseListener extends MouseAdapter {
        public void mouseClicked(MouseEvent e) {
            int r = (int) (Math.random() * 256);
            int g = (int) (Math.random() * 256);
            int b = (int) (Math.random() * 256);
            JPanel p = (JPanel) e.getSource();
            p.setBackground(new Color(r, g, b));
        }
    }
    public static void main(String[] args) {
        new Main();
    }
}

 


⊙ 결과

 


⊙ 마무리

 

 

NONE

 

좋아요 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함