본문 바로가기
2023/PROJECT

[JAVA]SWING

by Or0i쿠 2023. 6. 23.

자바 스윙(Swing)은 다양한 기능을 제공합니다. 여기에서는 스윙을 사용하여 간단한 창을 생성하고, 입력란(JTextField), 버튼(JButton) 및 출력 라벨(JLabel)을 사용하여 사용자로부터 입력을 받고 출력하는 기능을 구현해 보겠습니다.

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class SwingExample extends JFrame {
    private JTextField textField;
    private JButton button;
    private JLabel label;

    public SwingExample() {
        // 창의 타이틀 설정
        setTitle("Swing Function Example");

        // 레이아웃 설정
        setLayout(new FlowLayout());

        // JTextField 생성 및 추가
        textField = new JTextField(10);
        add(textField);

        // JButton 생성 및 추가
        button = new JButton("Submit");
        add(button);

        // JLabel 생성 및 추가
        label = new JLabel("");
        add(label);

        // 버튼 클릭 이벤트 처리
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String input = textField.getText();
                label.setText("Your input: " + input);
            }
        });

        // 창 크기 설정 및 종료 동작 설정
        setSize(300, 200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 창 표시
        setVisible(true);
    }

    public static void main(String[] args) {
        SwingExample example = new SwingExample();
    }
}
 

자바 스윙(Swing)에서 사용할 수 있는 다양한 기능들을 소개하겠습니다.

JCheckBox: 사용자가 여러 개의 옵션 중 하나 이상을 선택할 수 있게 해주는 체크박스입니다.

JCheckBox checkBox1 = new JCheckBox("Option 1");
JCheckBox checkBox2 = new JCheckBox("Option 2");
add(checkBox1);
add(checkBox2);

JRadioButton: 사용자가 여러 개의 옵션 중 하나만 선택할 수 있게 해주는 라디오 버튼입니다. ButtonGroup을 사용해 그룹으로 묶을 수 있습니다.

 
JRadioButton radioButton1 = new JRadioButton("Option 1");
JRadioButton radioButton2 = new JRadioButton("Option 2");
ButtonGroup group = new ButtonGroup();
group.add(radioButton1);
group.add(radioButton2);
add(radioButton1);
add(radioButton2);

JComboBox: 여러 개의 옵션을 드롭다운 형식으로 보여주는 콤보 박스입니다.

String[] options = {"Option 1", "Option 2", "Option 3"};
JComboBox comboBox = new JComboBox(options);
add(comboBox);

JSlider: 사용자가 값을 슬라이드 바를 움직여 선택할 수 있게 해주는 슬라이더입니다.

int minValue = 0;
int maxValue = 100;
int initialValue = 50;
JSlider slider = new JSlider(minValue, maxValue, initialValue);
add(slider);

JList: 목록을 보여주는 리스트 박스입니다.

String[] items = {"Item 1", "Item 2", "Item 3"};
JList list = new JList(items);
add(new JScrollPane(list));

JTable: 테이블 형식으로 데이터를 보여주는 테이블입니다.

String[] columnNames = {"Column 1", "Column 2"};
Object[][] data = {
  {"Data 1-1", "Data 1-2"},
  {"Data 2-1", "Data 2-2"},
};
JTable table = new JTable(data, columnNames);
add(new JScrollPane(table));

JTabbedPane: 여러 개의 패널을 탭 형식으로 보여주는 탭 팬입니다.

JTabbedPane tabbedPane = new JTabbedPane();
tabbedPane.addTab("Tab 1", new JPanel());
tabbedPane.addTab("Tab 2", new JPanel());
add(tabbedPane);

JMenuBar, JMenu, JMenuItem: 상단 메뉴 바를 생성하고 메뉴 옵션을 추가하는 메뉴 구성 요소입니다.

JMenuBar menuBar = new JMenuBar();
JMenu menu1 = new JMenu("Menu 1");
JMenu menu2 = new JMenu("Menu 2");
JMenuItem menuItem1 = new JMenuItem("Menu Item 1");
JMenuItem menuItem2 = new JMenuItem("Menu Item 2");
menu1.add(menuItem1);
menu2.add(menuItem2);
menuBar.add(menu1);
menuBar.add(menu2);
setJMenuBar(menuBar);

 

'2023 > PROJECT' 카테고리의 다른 글

[JAVA] 유저 값 가져오기  (0) 2023.06.27
[SPL] 관계형 데이터베이스  (0) 2023.06.27
[JAVA] 캘린더 UI (클래스 정리)  (0) 2023.06.22
[JAVA] 검색창  (0) 2023.06.21
[JAVA] 캘린더 UI  (0) 2023.06.20