자바 스윙(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 |