import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class NotePadExam extends JFrame
{
JFrame jf,jf2;
JPanel jp1,jp2;
JMenuBar jmb;
JMenu jmFile;
JMenuItem jmi_CreateNew,jmi_Open,jmi_Save,jmi_OtherSave,jmi_Exit;
JLabel jlb1;
JTextArea jta;
ActionListener al;
JDialog jd;
public NotePadExam()
{
//super("메모장");
try
{
//this.setDefaultCloseOperation(EXIT_ON_CLOSE);
//jf = new JFrame();
jf = this;
jf.getContentPane().setLayout(new FlowLayout());
//jf.getContentPane().setLayout(new BorderLayout());
//jf = new JFrame();
jp1 = new JPanel();
jp2 = new JPanel();
//jp1.setLayout(new FlowLayout());
jmb = new JMenuBar();
/*//////////////
파일메뉴추가
/*//////////////
jmFile = new JMenu("파일");
//jm=createMenuItem(jm,"열기");
//jm=createMenuItem(jm,"저장");
//jm=createMenuItem(jm,"다른이름으로 저장");
//jm=createMenuItem(jm,"끝내기");
jta = new JTextArea(10,25);
//jta.setSize(30,50);
//jd = new JDialog(this,"yes");
//jd.setLayout(new FlowLayout());
//jd.add(new Button("저장"));
//jd.setSize(100,100);
//jd.setVisible(true);
//새로 만들기 이벤트 생성
makeNewEvent(createMenuItem(jmFile,"새로만들기"),jta);
//메뉴바추가
jmb.add(jmFile);
/*//////////////
파일메뉴추가
/*//////////////
jp1.add(jmb);
//jmb.setSize(50,200);
//텍스트창추가
jp2.add(jta);
jf.add(jp1);
jf.add(jp2);
//add(jf);
//jf.getContentPane().add(jp1,BorderLayout.CENTER);
//createDialogBOx(this);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
public void makeNewEvent(JMenuItem jmim,final JTextArea jtaa)
{
//새파일 만들기 알고리즘////////////////////////////////////////////////////////////////////
//새로만들기 메뉴아이템 이벤트 생성
//1) 작업하던 문서가 없는 경우 바로 새문서 만듬///////////////////////////////////////////
//2) 작업하던 문서가 있는 경우(저장 안했을 경우) 저장,저장안함,취소를 물어본후 1번 작업//
//3) 작업하던 파일이 전과 비교했을 경우 변경된 게 없는 경우 이전 문서 닫고 새문서 만듬//
////////////////////////////////////////////////////////////////////////////////////////////
al = new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
String msg[] = {"저장","저장안함","취소"};
//일단 작업하던 문서가 있는 지 없는 지 체크함
String str = jtaa.getText().trim();
if(str.equals("") || str == null)
{
createNewDoc(jtaa);
}
else
{
//System.out.println("dddd");
JOptionPane.showConfirmDialog(
NotePadExam.this,
"변경된 내용을 저장하시겠습니까?",
"새로만들기",
JOptionPane.YES_NO_CANCEL_OPTION,
null,"저장","저장안함","취소"
);
//저장하던 문서가 있는경우 저장,저장안함,취소 물어봄
}
//System.out.println("새로만들기 클릭했음");
}
};
jmim.addActionListener(al);
}
public static void createNewDoc(JTextArea jtaa)
{
// if(jf==null)
// setTitle("");
jtaa.setText("");
}
public JMenuItem createMenuItem(JMenu jmu,String name2)
{
//System.out.println("111111111");
JMenuItem jmui = new JMenuItem(name2);
jmu.add(jmui);
return jmui;
}
public static void main(String[] args)
{
NotePadExam npe = new NotePadExam();
npe.setSize(300,300);
npe.setVisible(true);
//System.out.println("Hello World!");
}
}
'자바 > 메모장' 카테고리의 다른 글
자바메모장3일차(4시간정도작업//파일연후 포커스수정요망) (0) | 2010.10.19 |
---|---|
메모장 제 1일차(2시간작업) (0) | 2010.10.14 |