java GUI简单记事本

代码:

  1 import java.awt.*;
  2 import java.awt.event.*;
  3 import java.io.*;
  4 class MyMenu
  5 {
  6     //定义该窗体所需的组件,方便其他函数引用
  7     private Frame f;
  8     private Button btn;  //按钮
  9     private Button btn1;
 10     private Label label; //标签
 11     private TextArea ta ; //文本区域
 12     private Menu fileMenu; //菜单
 13     private MenuBar bar;
 14     private MenuItem openItem,saveItem,closeItem; //子菜单
 15
 16     private FileDialog openDia,saveDia; //文件对话框
 17     private File file; //文件
 18     //构造器
 19     MyMenu(){
 20         init();
 21     }
 22     public void init(){
 23         f = new Frame("我的窗体及菜单框架");
 24         /*(所有静态属性设置)*/
 25         //对窗体进行基本设置
 26         f.setBounds(100,50,1200,1000);
 27         f.setLayout(new FlowLayout());
 28         f.setBackground(Color.gray);
 29         //组件(自定义)
 30         btn      = new Button("退出");
 31         btn1  = new Button("按钮1");
 32         label = new Label("这是一个文本",Label.CENTER);
 33         ta = new TextArea("test",30,70,1);//最后一个参数设置为显示滚动条,1显示垂直滚动条,2显示横向滚动条,0全部显示。
 34
 35         bar = new MenuBar();
 36         fileMenu = new Menu("文件");
 37         //定义菜单项
 38         openItem = new MenuItem("打开");
 39         saveItem = new MenuItem("保存");
 40         closeItem = new MenuItem("退出");
 41         //将菜单项添加进菜单
 42         fileMenu.add(openItem);
 43         fileMenu.add(saveItem);
 44         fileMenu.addSeparator();
 45         fileMenu.add(closeItem);
 46          //将菜单已添加进菜单栏
 47         bar.add(fileMenu);
 48         f.setMenuBar(bar);
 49         //添加文件对话框
 50         openDia = new FileDialog(f,"我要打开",FileDialog.LOAD);
 51         saveDia = new FileDialog(f,"我要保存",FileDialog.SAVE);
 52         //组件属性设置
 53         label.setBackground(Color.pink);
 54         label.setFont(new Font("Dialog", Font.BOLD, 12));
 55         label.setSize(300,200);
 56         //将组件添加到frame中
 57         f.add(label);
 58         f.add(ta);
 59         f.add(btn);
 60         f.add(btn1);
 61         //加载窗体事件(所有响应事件)
 62         myEvent();
 63
 64         //显示窗体
 65         f.setVisible(true);
 66     }
 67
 68     private void myEvent(){
 69         /*规则:
 70           xxxListener(new xxxAdapter())
 71                     xxxEvent e
 72         */
 73         //窗体关闭事件
 74         f.addWindowListener(new WindowAdapter()
 75         {
 76             public void windowClosing(WindowEvent e)
 77             {
 78                 System.exit(0);
 79             }
 80         });
 81         //按钮响应事件
 82         btn.addActionListener(new ActionListener(){
 83             public void actionPerformed(ActionEvent e)
 84             {
 85                 //按钮响应
 86                 System.out.println("退出,按钮干的");
 87                 System.exit(0);
 88             }
 89         });
 90         //按钮1响应事件
 91         btn1.addActionListener(new ActionListener(){
 92             public void actionPerformed(ActionEvent e)
 93             {
 94                 //获取文本内容并显示
 95                 String taContent =ta.getText();
 96                 label.setText(taContent);
 97             }
 98         });
 99         //菜单事件:添加保存活动监听,
100         saveItem.addActionListener(new ActionListener()
101         {
102
103             public void actionPerformed(ActionEvent e)
104             {
105                 //保存就是直接开启对话框
106                 //if(file==null)
107                 //{
108                     saveDia.setVisible(true);
109
110                     String dirPath = saveDia.getDirectory();
111                     String fileName = saveDia.getFile();
112                     if(dirPath==null || fileName==null)
113                         return ;
114                     file = new File(dirPath,fileName);
115                 //}
116
117                 try
118                 {
119                     BufferedWriter bufw  = new BufferedWriter(new FileWriter(file));
120
121                     String text = ta.getText();
122
123                     bufw.write(text);
124                     //bufw.flush();
125                     bufw.close();
126                 }
127                 catch (IOException ex)
128                 {
129                     throw new RuntimeException();
130                 }
131
132             }
133         });
134
135
136         openItem.addActionListener(new ActionListener()
137         {
138             public void actionPerformed(ActionEvent e)
139             {
140                 openDia.setVisible(true);
141                 String dirPath = openDia.getDirectory();
142                 String fileName = openDia.getFile();
143 //                System.out.println(dirPath+"..."+fileName);
144                 if(dirPath==null || fileName==null)
145                     return ;
146
147                 ta.setText("");
148                 file = new File(dirPath,fileName);
149
150                 try
151                 {
152                     BufferedReader bufr = new BufferedReader(new FileReader(file));
153
154                     String line = null;
155
156                     while((line=bufr.readLine())!=null)
157                     {
158                         ta.append(line+"\r\n");
159                     }
160
161                     bufr.close();
162                 }
163                 catch (IOException ex)
164                 {
165                     throw new RuntimeException("读取失败");
166                 }
167
168
169             }
170         });
171
172
173
174
175
176         closeItem.addActionListener(new ActionListener()
177         {
178             public void actionPerformed(ActionEvent e)
179             {
180                 System.exit(0);
181             }
182         });
183     }
184
185     public static void main(String[] args){
186         new MyMenu();
187     }
188 }

效果:

时间: 2024-10-10 06:33:29

java GUI简单记事本的相关文章

java GUI简单日历查看

import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Calendar; public class swingCalendar extends JFrame implements ActionListener { public static swingCalendar u1; private

Java GUI 简单台球游戏模型

完成效果: 1 package com.neuedu.test; 2 3 import java.awt.Frame; 4 import java.awt.Graphics; 5 import java.awt.event.WindowAdapter; 6 import java.awt.event.WindowEvent; 7 8 import com.neuedu.utill.GameUtill; 9 10 public class TaiQiu extends Frame { 11 pub

编写运行最简单的java程序——使用记事本编写java程序

第一个java程序--使用记事本编辑 经过上篇文章的java环境搭建成功的小伙伴们可以在自己的计算机上编写属于自己的java程序了yo~ 还没有搭建环境变量的小伙伴请转移到上一篇的随笔中去完成搭建. 连接地址:http://www.cnblogs.com/hysum/p/7084380.html 现在我们可以通过使用记事本来编辑我们的第一个java小程序. 第一步 .使用记事本编辑程序代码 用记事本编写的是java的源代码文件,里面的代码就是我们平时学习的java代码.生成的文件后缀是.java

第14篇-JAVA GUI编程

第14篇-JAVA GUI编程 每篇一句 :道路一开始开辟的时候总是存在障碍的 初学心得: 原本下定决心才能开始的事情也变得理所当然 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-25| JAVA GUI编程 ] 1.什么是界面 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面 与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受 2.Java 基础类 JFC 的基本

Java GUI 基础 Eight Puzzle (拼图游戏)

很简单使用java GUI 制作一个简单的拼图游戏 // main package HW1; import java.io.IOException; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class HW1 extends JFrame{ /** * */ public HW1_0586(String s

【J2SE】java仿windows记事本

基于J2SE实现的一个记事本程序. 运行程序截图: 工程目录结构: 程序代码: package com.hblg; import java.awt.BorderLayout; import java.awt.FileDialog; import java.awt.Font; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.aw

第十四周课程总结&实验报告(简单记事本的实现)

简单记事本的实现 实验代码 package demo6; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.io.File; import java.io.FileI

结对项目:四则运算题目生成器(JAVA+GUI)

结对项目(JAVA+GUI) 结对伙伴: 胡梓泽(3118005002) 黄伟洪(3118005004) Github链接:https://github.com/Hubbard1999/operation 1 项目简介 1.1 题目描述 1.1.1 题目:实现一个自动生成小学四则运算题目的命令行程序(也可以用图像界面,具有相似功能). 1.1.2 说明: 真分数:1/2, 1/3, 2/3, 1/4, 1'1/2, -. 自然数:0, 1, 2, -. 运算符:+, ?, ×, ÷. 括号:(,

使用java搭建简单的ligerui环境

最近因为工作需要,学习了ligerui框架.但是,因为在公司,我们只是作为最低层的码农,所以环境都已经搭建好了,我们这些码农平时都是直接拿到工程,然后在别人的框架上不断的ctrl + c.ctrl + v,然后修修补补.所以为了摆脱这种困境,决定自己使用简单的servlet搭建一个ligerui,然后测试下ligerui这玩意到底是怎么跑起来的. 1.下载ligerui相关组件.这个很简单,直接去www.ligerui.com即可找到. 2.使用Eclipse创建一个web工程,然后搭建下面这个