[swing] JPanel

jmkim·2023년 6월 22일
0

swing

목록 보기
2/9

JPanel

JPanel은 컴포넌트를 하나로 묶어주는 클래스이다.

android의 layout과 비슷한 역할을 수행한다.


주요 메소드

setLayout(LayoutManager mgr)
panel의 레이아웃을 지정하는 메소드
swing에서는 레이아웃에 따라 요소의 위치를 지정한다.
아래 3가지 레이아웃을 가장 많이 사용한다.

  • Flowlayout : 요소들을 순서대로 정렬한다. 기본값이다.
  • BorderLayout : 요소들을 동서남북 가운데로 나눠 지정한다.
  • GridLayout : 요소를 행열로 지정한다.

setBackground(Color bg)
배경색을 지정하는 메소드
java.awt.Color 클래스를 매개변수로 전달하면 된다.

setBorder(Border border)
테두리를 지정하는 메소드
javax.swing.border.Border 인터페이스를 상속받는 클래스를 전달하면 클래스에 맞는 테두리가 나타난다.

setOpaque(boolean isOpaque)
paint 메소드 적용 여부를 지정하는 메소드
false 시 paint 메소드가 적용되지 않아 투명하게 나타난다.

setToolTipText(String text)
마우스 오버 시 툴팁 텍스트를 지정하는 메소드
null 값 전달 시 지정된 툴팁을 없앤다.
공백("") 을 전달 해도 공백으로 툴팁이 적용된다.

setPreferredSize(Dimension preferredSize)
사이즈를 지정하는 메소드
요소의 기본값을 지정해준다. null 값 전달 시 UI에서 자동으로 지정하는 사이즈가 적용된다.


실습

package component;

import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;

public class Panel extends JPanel {

    public static void main(String[] args) {
        Frame frame = new Frame(800, 600, "JPanel 테스트");

        JPanel panel = new JPanel();

        panel.add(new Panel());

        frame.add(panel);
        frame.setVisible(true);
    }

    public Panel() {
        setLayout(new FlowLayout());
        setBackground(Color.red);
        setBorder(new LineBorder(Color.black, 10));
        setOpaque(true);
        setToolTipText("JPanel 예제 입니다.");
        setPreferredSize(new Dimension(200, 200));
    }
}


추가 필요한 설명이 있으면 댓글로 달아주세요.

감사합니다. 😀

0개의 댓글