반응형
1.
package hello;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.security.KeyStore;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;
public class MenuDemo extends JFrame implements ActionListener {
MenuDemo() {
setTitle("메뉴 구성하기");
makeMenu();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 170);
setVisible(true);
}
void makeMenu() {
JMenuItem item;
KeyStroke key;
JMenuBar mb = new JMenuBar();
JMenu m1 = new JMenu("파일");
m1.setMnemonic(KeyEvent.VK_F);
JMenu m2 = new JMenu("색상");
m2.setMnemonic(KeyEvent.VK_C);
item = new JMenuItem("새 파일", KeyEvent.VK_N);
item.addActionListener(this);
m1.add(item);
item = new JMenuItem("파일열기", KeyEvent.VK_O);
item.addActionListener(this);
m1.add(item);
m1.add(new JMenuItem("파일 저장"));
m1.addSeparator();
m1.add(new JMenuItem("종료"));
item = new JMenuItem("파란색");
key = KeyStroke.getKeyStroke(KeyEvent.VK_B, ActionEvent.CTRL_MASK);
item.setAccelerator(key);
item.addActionListener(this);
m2.add(item);
item = new JMenuItem("빨간색");
key = KeyStroke.getKeyStroke(KeyEvent.VK_R, ActionEvent.CTRL_MASK);
item.setAccelerator(key);
item.addActionListener(this);
m2.add(item);
item = new JMenuItem("노란색");
key = KeyStroke.getKeyStroke(KeyEvent.VK_Y, ActionEvent.CTRL_MASK);
item.setAccelerator(key);
item.addActionListener(this);
m2.add(item);
mb.add(m1);
mb.add(m2);
setJMenuBar(mb);
}
public void actionPerformed(ActionEvent e) {
JMenuItem mi = (JMenuItem) (e.getSource());
switch (mi.getText()) {
case "새 파일":
System.out.println("새 파일");
break;
case "파일열기":
System.out.println("파일열기");
break;
case "파란색":
this.getContentPane().setBackground(Color.BLUE);
break;
case "빨간색":
this.getContentPane().setBackground(Color.RED);
break;
case "노란색":
this.getContentPane().setBackground(Color.YELLOW);
break;
}
}
public static void main(String[] args) {
new MenuDemo();
}
}
2.drawString() 메소드를 이용하여 문자열 출력하기
package hello;
import javax.swing.*;
import java.awt.*;
public class GraphicsDrawStringEx extends JFrame{
private MyPanel panel = new MyPanel();
public GraphicsDrawStringEx() {
setTitle(" drawString 사용 예제");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setContentPane(panel);
setSize(250, 200);
setVisible(true);
}
class MyPanel extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawString("자바는 재밌다,~~", 30,30);
g.drawString("얼마나 하늘만큼 땅만큼!!!", 60,60);
}
}
public static void main(String [] args) {
new GraphicsDrawStringEx();
}
}
반응형
'JAVA' 카테고리의 다른 글
[자바] 입출력, 자바의 IO패키지 (0) | 2020.01.19 |
---|---|
[자바] Thread (0) | 2020.01.19 |
[자바] Gui 프로그래밍 (0) | 2020.01.18 |