안녕하세요

프로그램 과정에서 막혔던 문제들에 대한 해결책 정리


페이지 목록

레이블이 GUI인 게시물을 표시합니다. 모든 게시물 표시
레이블이 GUI인 게시물을 표시합니다. 모든 게시물 표시

2011년 8월 15일 월요일

JPanel에 Image 넣기


String path = "path_to_image";
JPanel panel = new JPanel(new BorderLayout());
JLabel label = new JLabel(new ImageIcon(path));
label.setHorizontalAlignment(JLabel.CENTER);
panel.add(label);  // default center section


출처: http://www.java-forums.org/new-java/4477-how-add-images-jpanels.html

패널에 Layout을 설정하지 않을 시


class Pseudo extends JPanel {
    BufferedImage image;

    Pseudo(BufferedImage image) {
        this.image = image;
        // or load it in this class
        setLayout(null);
        add components...
    }

    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        int x = 
        int y = 
        g.drawImage(image, x, y, this);
    }
}

2011년 7월 22일 금요일

JAVA GUI Layout Manager(레이아웃 메니져)

1) Border Layout => North, South, West, East, Center 다섯 구역에 컴포넌트를 올릴 수 있다.
 Frame의 기본 Layout
2) Flow Layout => 워드 프로세스와 비슷한 방식을 사용한다. 크기는 요구대로 만들 수 있고, 순서대로 '왼쪽 맞춤' 형태로 제공된다. -> 수평 방향으로 들어가지 않을 시에 다음 '행'에 배치 된다.
 Panel 의 기본 Layout
3) Box Layout => 요청 크기대로 만들고 추가된 순서대로 배치한다. 주로 수직 방향으로 쌓을 시에 사용한다. (수평 방향도 가능하지만 잘 사용하지 않음)

JAVA GUI에 뭔가를 넣는 방법

 1) 프레임에 위젯 넣기
 2) 위젯에 2D 그래픽 그리기 => 그래픽 객체를 이용
 3) 그림 넣기

 위 3가지 방법이 있다.

JAVA GUI 중 클릭에 대하여

클릭 시 반응을 얻기 위해서 필요한 두가지

 1) 사용자 클릭시 호출 할 메소드(버튼 클릭 시 행동)
 2) 버튼 클릭을 알 수 있는 방법

 이 두 가지가 필요하다.

 Call Back Method => 이벤트가 일어 났을 때 호출 하는 메소드를 뜻하고 이 메소드가 이벤트 리스너에 그 이벤트가 일어났음을 알린다.
 Event Source => 사용자의 행동을 이벤트로 바꿔주는 객체이다.