Java : GUI, 메뉴 만들기

Java Programming|2018. 11. 21. 13:57
반응형

 메뉴 아이콘, 서브메뉴, 체크, 라디오버튼 만드는 자바 코드입니다.


결과창입니다.



import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;


import javax.swing.ImageIcon;

import javax.swing.JCheckBoxMenuItem;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JRadioButtonMenuItem;

import javax.swing.JTextField;


public class ManuBarTest extends JFrame {

JTextField tf;

public ManuBarTest() {

JMenuBar menuBar = new JMenuBar(); //메뉴바 생성

JMenu menu1 = new JMenu("File"); //메뉴 생성

JMenu menu2 = new JMenu("Edit");

menuBar.add(menu1);

menuBar.add(menu2);

JMenuItem menuItem = null; //서브메뉴

//메뉴1("File")의 서브메뉴 생성 및 추가, 메뉴선택 리스너

menuItem = new JMenuItem("New");

menuItem.addActionListener(menuItemListener);

menuItem.setToolTipText("새로만들기를 합니다.");

menu1.add(menuItem);

//단축키 지정

menuItem = new JMenuItem("Open",KeyEvent.VK_O); //O밑에 밑줄 및 키이벤트 등록

menuItem.addActionListener(menuItemListener);

menu1.add(menuItem);

menuItem = new JMenuItem("Save");

menuItem.setIcon(new ImageIcon("images/edit.png"));//아이콘 16x16

menuItem.addActionListener(menuItemListener);

menu1.add(menuItem);

//서브메뉴

JMenu subMenu = new JMenu("sub menu");

menuItem = new JMenuItem("sub1");

menuItem.addActionListener(menuItemListener);

subMenu.add(menuItem);

menuItem = new JMenuItem("sub2");

menuItem.addActionListener(menuItemListener);

subMenu.add(menuItem);

menu1.add(subMenu);

//Menu2("Edit")의 서브메뉴 만들기

JCheckBoxMenuItem checkBoxMenuItem = new JCheckBoxMenuItem("Ruler");

checkBoxMenuItem.addActionListener(menuItemListener);

checkBoxMenuItem.setToolTipText("눈금자를 보이게함");//툴팁

menu2.add(checkBoxMenuItem);

menu2.addSeparator();//구분선

//라디오 버튼

JRadioButtonMenuItem radioButtonMenuItem = new JRadioButtonMenuItem("Ediable");

radioButtonMenuItem.addActionListener(menuItemListener);

menu2.add(radioButtonMenuItem);

//JFrame에 메뉴바 설정

setJMenuBar(menuBar);

//메뉴 선택시의 결과 출력용 JTextField

tf = new JTextField();

tf.setToolTipText("선택한 결과가 출력됩니다.");

add(tf,BorderLayout.SOUTH);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setBounds(200,300,300,200);

setAlwaysOnTop(true);

setTitle("Menu Test");

setVisible(true);

}

ActionListener menuItemListener = new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

tf.setText(e.getActionCommand()+"를 선택함.");

}

};


public static void main(String[] args) {

new ManuBarTest();


}


}


반응형