자바 GUI 프로그래밍 – 메뉴, 툴바, 다이얼로그와 파일 다이얼로그
14장은 자바에서 메뉴, 툴바, 다이얼로그 및 파일 다이얼로그를 만드는 방법에 대해 설명하고 있습니다. 이를 통해 사용자 인터페이스를 보다 직관적이고 유용하게 만들 수 있습니다. 주요 내용을 블로그 글 형태로 요약하면 다음과 같습니다.
1. 메뉴 만들기
메뉴는 GUI 프로그램에서 자주 사용하는 기능으로, 자바에서는 JMenuBar
, JMenu
, JMenuItem
을 사용하여 메뉴를 만들 수 있습니다.
메뉴 구성 요소
- JMenuBar: 메뉴 바를 생성하는 컴포넌트.
- JMenu: 개별 메뉴(파일, 편집 등).
- JMenuItem: 메뉴 안에 들어가는 항목(새로 만들기, 저장 등).
메뉴 생성 코드 예제
import javax.swing.*;
public class MenuEx extends JFrame {
public MenuEx() {
setTitle("Menu 만들기 예제");
createMenu();
setSize(250, 200);
setVisible(true);
}
private void createMenu() {
JMenuBar mb = new JMenuBar();
JMenu screenMenu = new JMenu("Screen");
screenMenu.add(new JMenuItem("Load"));
screenMenu.add(new JMenuItem("Hide"));
screenMenu.add(new JMenuItem("ReShow"));
screenMenu.addSeparator(); // 분리선 삽입
screenMenu.add(new JMenuItem("Exit"));
mb.add(screenMenu);
setJMenuBar(mb);
}
public static void main(String[] args) {
new MenuEx();
}
}
이 코드는 JMenuBar
, JMenu
, JMenuItem
을 사용하여 간단한 메뉴를 생성하는 방법을 보여줍니다.
2. 메뉴 아이템에 이벤트 리스너 달기
메뉴 항목이 선택되었을 때 특정 작업을 수행하도록 하기 위해 ActionListener
를 사용합니다. 이를 통해 사용자가 메뉴를 선택할 때 동작을 지정할 수 있습니다.
ActionListener를 사용한 메뉴 이벤트 처리
class MenuActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if (cmd.equals("Load")) {
// Load 동작 구현
} else if (cmd.equals("Exit")) {
System.exit(0);
}
}
}
JMenuItem item = new JMenuItem("Load");
item.addActionListener(new MenuActionListener());
3. 툴바 만들기
툴바는 버튼이나 컴포넌트를 배치해 메뉴와 유사한 기능을 제공합니다. 자바에서 툴바는 JToolBar
클래스를 사용하여 생성할 수 있습니다.
툴바 생성 과정
- JToolBar 객체 생성:
JToolBar()
를 사용하여 툴바를 만듭니다. - 컴포넌트를 툴바에 추가:
add()
메소드를 사용해 버튼, 텍스트 필드 등을 추가합니다. - 툴바를 컨테이너에 배치:
JToolBar
를BorderLayout
의 상하좌우로 배치할 수 있습니다.
툴바 생성 코드 예제
import javax.swing.*;
import java.awt.*;
public class ToolBarEx extends JFrame {
public ToolBarEx() {
setTitle("툴바 만들기 예제");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
createToolBar();
setSize(400, 200);
setVisible(true);
}
private void createToolBar() {
JToolBar toolBar = new JToolBar("Kitae Menu");
toolBar.add(new JButton("New"));
toolBar.add(new JTextField("Search"));
add(toolBar, BorderLayout.NORTH);
}
public static void main(String[] args) {
new ToolBarEx();
}
}
툴바는 상단에 배치되어 빠르게 사용할 수 있는 기능을 제공합니다.
4. 다이얼로그 만들기
다이얼로그는 사용자 입력을 받기 위한 대화 상자입니다. 자바에서 JDialog
클래스를 사용하여 다이얼로그를 생성할 수 있습니다.
JDialog를 사용한 다이얼로그 예제
import javax.swing.*;
import java.awt.*;
class MyDialog extends JDialog {
public MyDialog(JFrame frame, String title) {
super(frame, title);
setLayout(new FlowLayout());
add(new JLabel("이것은 다이얼로그입니다."));
setSize(200, 100);
}
}
public class DialogEx extends JFrame {
public DialogEx() {
JButton btn = new JButton("Show Dialog");
btn.addActionListener(e -> new MyDialog(this, "Test Dialog").setVisible(true));
add(btn);
setSize(250, 200);
setVisible(true);
}
public static void main(String[] args) {
new DialogEx();
}
}
5. 파일 다이얼로그
JFileChooser
는 파일을 선택하거나 저장할 수 있는 다이얼로그입니다. 이를 통해 사용자는 파일을 탐색하고 선택할 수 있습니다.
JFileChooser를 사용한 파일 열기 다이얼로그
import javax.swing.*;
import java.awt.event.*;
public class FileDialogEx extends JFrame {
public FileDialogEx() {
JButton btn = new JButton("Open File");
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
int ret = chooser.showOpenDialog(null);
if (ret == JFileChooser.APPROVE_OPTION) {
String path = chooser.getSelectedFile().getPath();
System.out.println("Selected file: " + path);
}
}
});
add(btn);
setSize(300, 200);
setVisible(true);
}
public static void main(String[] args) {
new FileDialogEx();
}
}
'Java' 카테고리의 다른 글
Java 제네릭 와일드카드에 대하여 (0) | 2024.11.18 |
---|---|
명품자바 프로그래밍의 기초: 15장 (0) | 2024.09.18 |
명품자바 프로그래밍의 기초: 13장 (0) | 2024.09.17 |
명품자바 프로그래밍의 기초: 12장 (0) | 2024.09.15 |
명품자바 프로그래밍의 기초: 11장 (0) | 2024.09.13 |