Java Swing编程
来源:互联网 发布:nginx搭建web服务器 编辑:程序博客网 时间:2024/05/21 03:16
JAVA编写的记事本
package demo1;import java.io.*;import java.awt.BorderLayout;import java.awt.event.*;import mypackage.FileHelper;import mypackage.WriteStyle;import javax.swing.*;import javax.swing.filechooser.FileFilter;import javax.swing.filechooser.FileNameExtensionFilter;import javax.swing.plaf.FileChooserUI;public class UIdemo02 extends JFrame implements ActionListener{ //窗口初始大小int width = 500,height = 400;JPanel panel; JMenuBar bar; JMenu fileMenu,editMenu,helpMenu; JMenuItem OpenO,NewN,SaveS,SaveasA,CutT,CopyC,PasteP,AboutA; JTextArea textArea = null; File tempFile = null; JScrollPane jscroll;public UIdemo02(){ //构造方法 this.setTitle("新概念记事本V1.0版本");this.setSize(width,height); //获得窗口面板容器panel = (JPanel)this.getContentPane(); //创建窗口菜单条bar = new JMenuBar(); fileMenu = new JMenu("文件F");//顶层菜单 fileMenu.setMnemonic('F'); //设定快捷键操作 editMenu = new JMenu("编辑E"); editMenu.setMnemonic('E'); helpMenu = new JMenu("帮助H"); helpMenu.setMnemonic('H'); //创建子菜单项OpenO = new JMenuItem("打开O"); OpenO.setMnemonic('O'); NewN = new JMenuItem("新建N"); NewN.setMnemonic('N'); SaveS = new JMenuItem("保存S"); SaveS.setMnemonic('S'); SaveasA = new JMenuItem("另存A"); SaveasA.setMnemonic('A'); CutT = new JMenuItem("剪切C"); CutT.setMnemonic('t'); CopyC = new JMenuItem("复制C"); CopyC.setMnemonic('C'); PasteP = new JMenuItem("粘贴P"); PasteP.setMnemonic('P'); AboutA = new JMenuItem("关于A"); AboutA.setMnemonic('A'); fileMenu.add(OpenO); fileMenu.add(NewN); fileMenu.add(SaveS); fileMenu.add(SaveasA); //添加菜单到工具条bar.add(fileMenu); editMenu.add(CutT); editMenu.add(CopyC); editMenu.add(PasteP); bar.add(editMenu); helpMenu.add(AboutA); bar.add(helpMenu); //为文本框添加滚动条JPanel jpanel=new JPanel(new BorderLayout());jpanel.setBounds(10, 100, 200, 100);textArea = new JTextArea();textArea.setEditable(false);//不能编辑jscroll=new JScrollPane(textArea);jpanel.add(jscroll);panel.add("North",bar); panel.add("Center", jpanel); this.InitListener();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); NewS_click(null); } /** * 初始化窗体控件监听器 */private void InitListener(){//打开OpenO.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubOpenO_click(arg0);}});//新建NewN.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubNewS_click(arg0);}});//保存SaveS.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubSaveS_click(e);}});//另存SaveasA.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubSaveasA_click(e);}});AboutA.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubAboutA_click(arg0);}});}//打开事件处理public void OpenO_click(ActionEvent evt){//文件打开对话框JFileChooser jfc=new JFileChooser();jfc.setDialogTitle("打开记事文件");jfc.showOpenDialog(panel);tempFile=jfc.getSelectedFile();textArea.setText(FileHelper.ReadAllText(tempFile.getAbsolutePath()));textArea.setEditable(true);}//新建事件处理public void NewS_click(ActionEvent evt){//处理新建tempFile=null;textArea.setEditable(true); textArea.setText(null); }//保存事件处理public void SaveS_click(ActionEvent evt){//检查是否有数据保存if(textArea.getText().length()<=0){JOptionPane.showMessageDialog(panel,"没有数据可用于保存");return;}//覆盖、创建标识int flag=0;//是否打开文件if(tempFile==null){//文件打开对话框JFileChooser jfc=new JFileChooser();jfc.setDialogTitle("保存记事文件");jfc.showSaveDialog(panel);tempFile=jfc.getSelectedFile();flag=1;//新建}WriteStyle wstyle=flag==0?WriteStyle.overlaid:WriteStyle.create;//将数据存入磁盘文件boolean ret=FileHelper.WriteAllText(textArea.getText(), tempFile.getAbsolutePath(),wstyle);if(ret==false){JOptionPane.showMessageDialog(panel,"数据保存失败");}}//另存事件处理public void SaveasA_click(ActionEvent evt){//检查是否有数据保存if(textArea.getText().length()<=0){JOptionPane.showMessageDialog(panel,"没有数据可用于保存");return;}//选择文件JFileChooser jfc=new JFileChooser();jfc.setDialogTitle("另存为");jfc.showSaveDialog(panel);tempFile=jfc.getSelectedFile();String filepath=tempFile.getAbsolutePath();//选择文件是否已经存在if(FileHelper.FileExists(filepath)){int ret= JOptionPane.showConfirmDialog(panel, "文件已存在,是否覆盖?");JOptionPane.showMessageDialog(null, ret);if(ret==0){//覆盖boolean bret= FileHelper.WriteAllText(textArea.getText(), filepath, WriteStyle.create);if(!bret){JOptionPane.showConfirmDialog(panel, "数据保存失败");}}}//将数据存入磁盘文件boolean bret=FileHelper.WriteAllText(textArea.getText(), filepath, WriteStyle.create);if(!bret){JOptionPane.showConfirmDialog(panel, "数据保存失败");}}//关于事件处理public void AboutA_click(ActionEvent evt){tempFile=null;textArea.setText("新概念记事本V1.0\nQQ:1533696518\n编写思路参考至http://zhidao.baidu.com/question/217267049.html");textArea.setEditable(false);}public void actionPerformed(ActionEvent event){ }public static void main(String []args){ //主函数 new UIdemo02(); }}
其中用到的FileHelper类源码在文章列表中
- Java Swing 编程一二
- Java Swing编程
- java swing编程
- Java-swing编程
- java的Swing编程
- java swing编程学习
- JAVA中Swing编程
- Java中swing编程
- java swing编程学习
- 开始学习Java Swing编程
- 今天学习Java Swing编程
- java基础 ---Swing事件编程
- 学习java界面编程swing
- Java Swing编程:JTree树
- Java Swing编程:JTable表格
- Java Swing编程:JTree树
- Java 学习之 Swing 编程
- Java Swing界面编程(1)
- R频数分布图及箱线图
- Android ApiDemos示例解析(24):App->Launcher Shortcuts
- Xcode 4.1~4.6 + iOS 5、iOS 6免证书(iDP)开发+真机调试+生成IPA全攻略
- #define 的妙用
- Word,Excel大小写批量转换
- Java Swing编程
- python发送HTTP GET请求
- Web Service学习笔记
- C#调用Exe方法+实例分析
- wordpress杂记
- cocos2d-x ios工程路径问题
- CASE在sql server中的使用用法
- UNIX中的文件和目录
- poj 1703 Find them, Catch them(并查集应用)