-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNotepad
More file actions
127 lines (118 loc) · 3.99 KB
/
Notepad
File metadata and controls
127 lines (118 loc) · 3.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package Package;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
public class Notepad extends JFrame{
SimpleAttributeSet saset;
JTextPane editarea;
JButton btn_edit, btn_copy, btn_cut, btn_paste, btn_exit;
JPanel panel, panel2, panel3, panel4, panel5;
JComboBox combo;
ButtonGroup group = new ButtonGroup();
JRadioButton red, blue, green;
public Notepad(){
EditWindows();
this.setTitle("편집기");
this.setSize(500, 500);
this.setVisible(true);
}
void EditWindows() {
panel = new JPanel(); panel2 = new JPanel(); panel3 = new JPanel();
panel4 = new JPanel(); panel5 = new JPanel();
btn_edit = new JButton("편집"); btn_copy = new JButton("복사");
btn_cut = new JButton("잘라내기"); btn_paste = new JButton("붙여넣기");
btn_exit = new JButton("종료");
red = new JRadioButton("red"); blue = new JRadioButton("blue"); green = new JRadioButton("green");
group.add(red); group.add(blue); group.add(green);
String size [] = { "5", "10", "15", "20", "25", "30" };
combo = new JComboBox(size);
Border border = BorderFactory.createTitledBorder("글자크기");
Border border1 = BorderFactory.createTitledBorder("글자색상");
editarea = new JTextPane();
editarea.setPreferredSize(new Dimension(480, 480));
editarea.setEditable(false);
editarea.setSelectionColor(Color.yellow);
editarea.setBackground(Color.white);
editarea.setSelectedTextColor(Color.red);
panel.setLayout(new FlowLayout());
panel.add(btn_edit); panel.add(btn_copy);
panel.add(btn_cut); panel.add(btn_paste); panel.add(btn_exit);
panel2.add(editarea);
panel3.add(red); panel3.add(blue); panel3.add(green);
panel5.setLayout(new GridLayout(0, 2));
panel3.setBorder(border1);
panel4.add(combo);
panel4.setBorder(border);
panel5.add(panel4); panel5.add(panel3);
//combo.setBounds(0, 450, 100, 10);
this.add("North", panel);
this.add(panel2);
//panel3.add(combo);
this.add("South", panel5);
btn_edit.addActionListener(new MyListener());
btn_copy.addActionListener(new MyListener());
btn_cut.addActionListener(new MyListener());
btn_paste.addActionListener(new MyListener());
btn_exit.addActionListener(new MyListener());
red.addActionListener(new MyEvent());
blue.addActionListener(new MyEvent());
green.addActionListener(new MyEvent());
combo.addItemListener(new MyEvent());
}
class MyListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==btn_edit) {
editarea.setEditable(true);
btn_edit.setBackground(Color.cyan);
editarea.requestFocus();
}
else if(e.getSource()==btn_copy) {
editarea.copy();
}
else if(e.getSource()==btn_cut) {
editarea.cut();
}
else if(e.getSource()==btn_paste) {
editarea.paste();
}
else if(e.getSource()==btn_exit) {
System.exit(0);
}
}
}
class MyEvent implements ActionListener, ItemListener{
@Override
public void actionPerformed(ActionEvent e) {
saset = new SimpleAttributeSet();
if(e.getSource() == red)
StyleConstants.setForeground( saset, Color.RED);
if(e.getSource() == blue)
StyleConstants.setForeground( saset, Color.blue);
if(e.getSource() == green)
StyleConstants.setForeground( saset, Color.green);
int size = Integer.parseInt((String)combo.getSelectedItem());
StyleConstants.setFontSize( saset, size);
editarea.setCharacterAttributes(saset, true);
editarea.requestFocus();
}
@Override
public void itemStateChanged(ItemEvent e) {
saset = new SimpleAttributeSet();
editarea.getSelectedTextColor();
int size = Integer.parseInt((String)combo.getSelectedItem());
StyleConstants.setFontSize( saset, size );
editarea.setCharacterAttributes(saset, true);
editarea.requestFocus();
}
}
public static void main(String[] args) {
new Notepad();
}
}