기초 컴포넌트들

·2025년 6월 1일

Power Java

목록 보기
54/75

9.6 기초 컴포넌트들

-자바 GUI 애플리케이션에서 많이 사용하는 컴포넌트

  • 레이블 - 텍스트를 표시할 수 있는 공간
  • 텍스트필드 - 사용자가 한 줄의 텍스트를 입력할 수 있는 공간
  • 버튼 - 클릭되면 어떤 동작을 실행하는 버튼

레이블

: 텍스트를 표시하기 위한 컴포넌트
-텍스트와 이미지를 동시에 표시할 수 있음.
-폰트의 종류, 크기, 색상 등 변경 가능.

1) 일반적으로는 레이블을 생성할 때 표시할 텍스트를 생성자에 넘긴다.

JLabel label = new JLabel("안녕하세요?");

2) 먼저 레이블 객체를 생성하고
나중에 레이블의 텍스트를 텍스트를 설정하는 방법도 있다.

JLabel label = new JLabel();
label.setText("안녕하세요?");

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

public class LabelTest extends JFrame {
	private JPanel panel;
    private JLabel label1, label2;
    
    public LabelTest() {
    	setTitle("레이블 테스트");
        setSize(400, 150);
        
        panel = new JPanel();
        label1 = new JLabel("Color Label");
        label1.setForgrount(Color.BLUE);
        label2 = new JLabel("Font Label");
        label2.setFont(new Font("Arial", Font.ITALIC, 30));
        label2.setForeground(Color.ORANCE);
        panel.add(label1);
        panel.add(label2);
        add(panel);
        setVisible(true);
    }

< 레이블에 이미지 표시하기 >

1) 스윙 컴포넌트에 이미지를 표시하려면 먼저 ImageIcon 인스턴스를 생성하여야 한다.
2) 다음으로 setIcon() 메소드를 사용하여 레이블에 이미지를 지정한다.

ImageIcon image = new ImageIcon("d://dog.png");
JLabel label = new JLabel("Dog");
label.setIcon(image);

텍스트 필드

: JTextField 클래스로서 제공된다.
입력이 가능한 한 줄의 텍스트 상자이다.

*JTextField는 두 개의 자식 클래스를 가진다.

  • JPasswordField
    : 사용자가 입력하는 문자를 보여주지 않는 컴포넌트
  • JFormattedTextField
    : 사용자가 입력할 수 있는 문자 집합을 제한하는 컴포넌트

Ex)

JTextField tf = new JTextField(30);	// 30자 크기의 텍스트 필드를 만든다.
tf.setText("아이디를 입력하시오.");	// 텍스트 필드의 텍스트를 설정한다.
System.out.println(tf.getText());	// 텍스트 필드의 텍스트를 가져온다.

-requestFocus();
: 호출 시 키보드 포커스를 자동적으로 갖게 한다.

버튼

-변경할 수 있는 것
: 텍스트, 폰트, 전경색, 배경색, 버튼의 상태(활성, 비활성)

스윙에서 지원하는 버튼 종류

  • JButton
  • JCheckBox
  • JRadioButton - 그룹 중 하나의 버튼만 체크 가능
  • JToggleButton - 2가지 상태를 가지고 토글이 가능


1. JPasswordField
2.
1) ImageIcon 객체 생성 후 이미지 파일 불러오기
2) JLabel 생성자에 아이콘을 넣어주기
3. getText()

0개의 댓글