이 기사의 예에서는 간단한 메모장 Java 구현 코드를 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부사항은 다음과 같습니다:
전체 코드는 다음과 같습니다.
다음과 같이 코드를 복사합니다. import java.awt.*;
import java.io.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
공용 클래스 Main은 Frame을 확장하여 ActionListener를 구현합니다.
개인 정적 최종 긴 serialVersionUID = 1L;
TextArea textArea = 새로운 TextArea();
MenuBar menuBar = 새로운 MenuBar();
메뉴 fileMenu = new Menu("파일");
MenuItem newItem = new MenuItem("새로 만들기");
MenuItem openItem = new MenuItem("열기");
MenuItem saveItem = new MenuItem("저장");
MenuItem saveAsItem = new MenuItem("다른 이름으로 저장");
MenuItem ExitItem = new MenuItem("Exit");
메뉴 editMenu = new Menu("편집");
MenuItem selectItem = new MenuItem("모두 선택");
MenuItem copyItem = new MenuItem("복사");
MenuItem cutItem = new MenuItem("잘라내기");
MenuItem PasteItem = new MenuItem("붙여넣기");
문자열 파일명 = null;
툴킷 toolKit=Toolkit.getDefaultToolkit();
클립보드 clipsBoard=toolKit.getSystemClipboard();
private FileDialog openFileDialog = new FileDialog(this,"파일 열기",FileDialog.LOAD);
private FileDialog saveAsFileDialog = new FileDialog(this,"다른 이름으로 파일 저장",FileDialog.SAVE);
공개 메인(){
setTitle("메모장 프로그램 - Jackbase 제공");
setFont(new Font("Times New Roman",Font.PLAIN,12));
setBackground(Color.white);
setSize(400,300);
fileMenu.add(newItem);
fileMenu.add(openItem);
fileMenu.addSeparator();
fileMenu.add(saveItem);
fileMenu.add(saveAsItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
editMenu.add(selectItem);
editMenu.addSeparator();
editMenu.add(copyItem);
editMenu.add(cutItem);
editMenu.add(pasteItem);
menuBar.add(fileMenu);
menuBar.add(editMenu);
setMenuBar(menuBar);
추가(텍스트 영역);
addWindowListener(새 WindowAdapter(){
공공 무효 windowClosing(WindowEvent e){
시스템.exit(0);
}
});
newItem.addActionListener(this);
openItem.addActionListener(this);
saveItem.addActionListener(this);
saveAsItem.addActionListener(this);
exitItem.addActionListener(this);
selectItem.addActionListener(this);
copyItem.addActionListener(this);
cutItem.addActionListener(this);
PasteItem.addActionListener(this);
}
public void actionPerformed(ActionEvent e) { //이벤트 수신
객체 eventSource = e.getSource();
if(eventSource == newItem){
textArea.setText("");
}else if(eventSource == openItem){
openFileDialog.show();
fileName = openFileDialog.getDirectory()+openFileDialog.getFile();
if(파일이름 != null)
readFile(파일이름);
}else if (eventSource == saveItem){
if(파일이름 != null)
writeFile(파일이름);
}else if(eventSource == saveAsItem){
saveAsFileDialog.show();
fileName = saveAsFileDialog.getDirectory()+saveAsFileDialog.getFile();
if (파일 이름!= null)
writeFile(파일이름);
}else if(eventSource == selectItem){
textArea.selectAll();
}else if(eventSource == copyItem){
문자열 텍스트=textArea.getSelectedText();
StringSelection 선택=새 StringSelection(text);
clipBoard.setContents(선택,null);
}else if(eventSource == cutItem){
문자열 텍스트=textArea.getSelectedText();
StringSelection 선택=새 StringSelection(text);
clipBoard.setContents(선택,null);
textArea.replaceRange("",textArea.getSelectionStart(),textArea.getSelectionEnd());
}else if(eventSource == 붙여넣기Item){
전송 가능한 내용=clipBoard.getContents(this);
if(내용==null) return;
문자열 텍스트;
텍스트="";
노력하다{
text=(String)contents.getTransferData(DataFlavor.stringFlavor);
}catch(예외 예외){
}
textArea.replaceRange(text,textArea.getSelectionStart(),textArea.getSelectionEnd());
}else if(eventSource ==exitItem){
시스템.exit(0);
}
}
public void readFile(String fileName){ //파일 읽기 처리
노력하다{
파일 파일 = 새 파일(파일 이름);
FileReader readIn = 새로운 FileReader(파일);
int 크기 = (int)file.length();
int charsRead = 0;
char[] 내용 = 새로운 char[크기];
동안(readIn.ready())
charsRead += readIn.read(content, charsRead, size - charsRead);
readIn.close();
textArea.setText(new String(content, 0, charsRead));
}
catch(IOException e){
System.out.println("파일 열기 오류");
}
}
public void writeFile(String fileName){ //파일 쓰기 처리
노력하다{
파일 파일 = 새 파일(파일 이름);
FileWriter writeOut = 새 FileWriter(파일);
writeOut.write(textArea.getText());
writeOut.close();
}
catch(IOException e){
System.out.println("파일 쓰기 오류");
}
}
@SuppressWarnings("지원 중단")
공개 정적 무효 메인(문자열[] 인수){
프레임 프레임 = new Main() //객체 생성
Frame.show(); //객체 표시입니다.
}
}
실행 결과는 아래 그림과 같습니다.
이 글이 모든 사람의 Java 프로그래밍에 도움이 되기를 바랍니다.