Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바
- 개발
- 파일 저장
- android
- 입출력
- 셀레니움
- js
- 크롤링
- 유튜브
- 데이터베이스
- 이진 변환 반복하기
- 모바일
- 프로그래밍
- 파이썬
- jsp
- 개발자
- 자바스크립트
- MySQL
- Programmers
- 메모장
- 세션
- javascript
- java
- 코딩
- jdbc
- Python
- n^2 배열 자르기
- 형태소 분석기
- 함수형 인터페이스
- 프로그래머스
Archives
- Today
- Total
개인용 복습공간
[Java] 메모장 만들기 - 1 본문
메모장의 인터페이스와 간단한 기능을
만들어보려고 한다.
메모장
메모장의 인터페이스
간단하게 파일 메뉴만 만들어 보려고 한다.
메모장 코드
Notepad.java
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
|
import java.awt.BorderLayout;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Notepad extends JFrame {
NoteActionListener nal = new NoteActionListener(this);
JTextArea ta = new JTextArea();
JMenu mfile = new JMenu("파일");
JMenuBar mb = new JMenuBar();
String filename;
public Notepad(){
this.setTitle("메모장");
this.setBounds(500, 100, 1000, 700);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String[] ScrItem = {"새파일","열기","저장","다른이름으로 저장", "종료"};
for(int i = 0; i<ScrItem.length; i++) {
itemAdd(ScrItem[i], mfile);
}
mb.add(mfile);
ta.setLineWrap(true);
this.setJMenuBar(mb);
this.add(new JScrollPane(ta), BorderLayout.CENTER);
this.setVisible(true);
}
public void itemAdd(String title,JMenu m){
JMenuItem item = new JMenuItem(title);
m.add(item);
item.addActionListener(nal);
}
public void windowClosing(WindowEvent we) {
System.out.println("Closing");
System.exit(0);
}
public void newFile(){
ta.setText("");
this.setTitle("새파일");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Notepad();
}
}
|
cs |
구성은 생성자, 리스너 추가를 위한 itemAdd메서드, 종료 버튼을 위한 windowClosing메서드,
새파일을 위한 newFile메서드 정도이다.
생성자에 간단하게 메뉴를 만들고 itemAdd는 메뉴 아이템 추가와 아이템마다 리스너를 추가했다.
그리고 종료를 위해 System.exit(0)를 windowClosing에 넣어주고 newFile()에 JTextArea초기화를
넣어주었다.
NoteActionListener.java
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
|
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class NoteActionListener implements ActionListener {
Notepad frm;
String cmd;
public NoteActionListener(Notepad frm) {
this.frm = frm;
}
@Override
public void actionPerformed(ActionEvent ae) {
cmd = ae.getActionCommand();
switch(cmd) {
case "새파일":
frm.newFile();
break;
case "열기":
break;
case "저장":
break;
case "다른이름으로 저장":
break;
case "종료":
frm.windowClosing(null);
break;
}
}
}
|
cs |
리스너는 독립리스너로 구성했다. Notepad에서 메서드를 받아 사용했다.
다음에는 열기와, 저장, 다른이름으로 저장을 해보려 한다.
'Java' 카테고리의 다른 글
[Java] 파일 채널 ,메모장 만들기 -3 (0) | 2021.05.25 |
---|---|
[Java] 메모장 만들기 - 2 (0) | 2021.05.21 |
[Java] 스트림과 스트림을 이용한 입출력 (0) | 2021.05.18 |
[Java] 람다식과 함수형 인터페이스 - 2 (0) | 2021.05.12 |
[Java] 람다식과 함수형 인터페이스 - 1 (1) | 2021.05.08 |
Comments