java GUI简单记事本
代码:
- import java.awt.*;
- import java.awt.event.*;
- import java.io.*;
- class MyMenu
- {
- //定义该窗体所需的组件,方便其他函数引用
- private Frame f;
- private Button btn; //按钮
- private Button btn1;
- private Label label; //标签
- private TextArea ta ; //文本区域
- private Menu fileMenu; //菜单
- private MenuBar bar;
- private MenuItem openItem,saveItem,closeItem; //子菜单
- private FileDialog openDia,saveDia; //文件对话框
- private File file; //文件
- //构造器
- MyMenu(){
- init();
- }
- public void init(){
- f = new Frame("我的窗体及菜单框架");
- /*(所有静态属性设置)*/
- //对窗体进行基本设置
- f.setBounds(100,50,1200,1000);
- f.setLayout(new FlowLayout());
- f.setBackground(Color.gray);
- //组件(自定义)
- btn = new Button("退出");
- btn1 = new Button("按钮1");
- label = new Label("这是一个文本",Label.CENTER);
- ta = new TextArea("test",30,70,1);//最后一个参数设置为显示滚动条,1显示垂直滚动条,2显示横向滚动条,0全部显示。
- bar = new MenuBar();
- fileMenu = new Menu("文件");
- //定义菜单项
- openItem = new MenuItem("打开");
- saveItem = new MenuItem("保存");
- closeItem = new MenuItem("退出");
- //将菜单项添加进菜单
- fileMenu.add(openItem);
- fileMenu.add(saveItem);
- fileMenu.addSeparator();
- fileMenu.add(closeItem);
- //将菜单已添加进菜单栏
- bar.add(fileMenu);
- f.setMenuBar(bar);
- //添加文件对话框
- openDia = new FileDialog(f,"我要打开",FileDialog.LOAD);
- saveDia = new FileDialog(f,"我要保存",FileDialog.SAVE);
- //组件属性设置
- label.setBackground(Color.pink);
- label.setFont(new Font("Dialog", Font.BOLD, 12));
- label.setSize(300,200);
- //将组件添加到frame中
- f.add(label);
- f.add(ta);
- f.add(btn);
- f.add(btn1);
- //加载窗体事件(所有响应事件)
- myEvent();
- //显示窗体
- f.setVisible(true);
- }
- private void myEvent(){
- /*规则:
- xxxListener(new xxxAdapter())
- xxxEvent e
- */
- //窗体关闭事件
- f.addWindowListener(new WindowAdapter()
- {
- public void windowClosing(WindowEvent e)
- {
- System.exit(0);
- }
- });
- //按钮响应事件
- btn.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e)
- {
- //按钮响应
- System.out.println("退出,按钮干的");
- System.exit(0);
- }
- });
- //按钮1响应事件
- btn1.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e)
- {
- //获取文本内容并显示
- String taContent =ta.getText();
- label.setText(taContent);
- }
- });
- //菜单事件:添加保存活动监听,
- saveItem.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- //保存就是直接开启对话框
- //if(file==null)
- //{
- saveDia.setVisible(true);
- String dirPath = saveDia.getDirectory();
- String fileName = saveDia.getFile();
- if(dirPath==null || fileName==null)
- return ;
- file = new File(dirPath,fileName);
- //}
- try
- {
- BufferedWriter bufw = new BufferedWriter(new FileWriter(file));
- String text = ta.getText();
- bufw.write(text);
- //bufw.flush();
- bufw.close();
- }
- catch (IOException ex)
- {
- throw new RuntimeException();
- }
- }
- });
- openItem.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- openDia.setVisible(true);
- String dirPath = openDia.getDirectory();
- String fileName = openDia.getFile();
- // System.out.println(dirPath+"..."+fileName);
- if(dirPath==null || fileName==null)
- return ;
- ta.setText("");
- file = new File(dirPath,fileName);
- try
- {
- BufferedReader bufr = new BufferedReader(new FileReader(file));
- String line = null;
- while((line=bufr.readLine())!=null)
- {
- ta.append(line+"\r\n");
- }
- bufr.close();
- }
- catch (IOException ex)
- {
- throw new RuntimeException("读取失败");
- }
- }
- });
- closeItem.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- System.exit(0);
- }
- });
- }
- public static void main(String[] args){
- new MyMenu();
- }
- }
效果:
java GUI简单记事本的更多相关文章
- Java实现简单记事本
代码实现: import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; im ...
- Java GUI 简单台球游戏模型
完成效果: 1 package com.neuedu.test; 2 3 import java.awt.Frame; 4 import java.awt.Graphics; 5 import jav ...
- 编写运行最简单的java程序——使用记事本编写java程序
第一个java程序--使用记事本编辑 经过上篇文章的java环境搭建成功的小伙伴们可以在自己的计算机上编写属于自己的java程序了yo~ 还没有搭建环境变量的小伙伴请转移到上一篇的随笔中去完成搭建. ...
- java GUI (课堂笔记)
关于java GUI Swing组件: JFrame 窗口组件 JLabel 标签 JButton 按钮组件 JTextField 单行文本框 系统控件(JDK自带) 自定义控件(模仿系统控件): 继 ...
- java Gui编程 事件监听机制
1. GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在DOS命令行中通过javac java命令启动程序. 软件的交互的方式: 1. 命令交互方式 图书管理系统 ...
- paip.java gui swt/jface 最佳实践
paip.java gui swt/jface 最佳实践 1. 工具:Eclipse +jigloo4 1 2. 安装插件: 1 1. IMPORT swt lib 2 2. 新建立窗体 2 3. 运 ...
- [置顶] java Gui 键盘监听事件
简单写一个java Gui键盘监听事件,实现的效果就是按下键盘控制台输出你按下的键.比如:按下A控制台就输出A 效果如图: 以下把实现的效果分为几个步骤: 1.新建一个窗体类继承窗体: 2.给这个窗体 ...
- IntelliJ IDE 开发Java GUI 入门
j主要对java 的GUI相关知识进行简单的介绍和总结,整个博客按照创建一个java GUI的顺序进行介绍,期间穿插讲解用到的java Swing的布局.控件等相关知识.本博客所进行的讲解及工程的创建 ...
- Java GUI编程4---标签组件JLabel
Java GUI编程4---标签组件JLabel 2018年06月11日 22:06:58 蓝蓝223 阅读数 12103更多 个人分类: Java书籍摘抄 所属专栏: Java Swing图形界面 ...
随机推荐
- HTML学习(五)链接
1.创建文本链接 <html> <body> <p> <a href="/index.html">本文本</a> 是一个 ...
- js函数——setinterval和setTimeout
1.window.setTimeout方法 该方法可以延时执行一个函数,例如: <script language="JavaScript" type="text/j ...
- iOS开发之监听键盘高度的变化 分类: ios技术 2015-04-21 12:04 233人阅读 评论(0) 收藏
最近做的项目中,有一个类似微博中的评论转发功能,屏幕底端有一个输入框用textView来做,当textView成为第一响应者的时候它的Y值随着键盘高度的改变而改变,保证textView紧贴着键盘,但又 ...
- StackExchange.Redis 官方文档(二) Configuration
配置 有多种方式可以配置redis,StackExchange.Redis提供了一个丰富的配置模型,在执行Connect (or ConnectAsync) 时被调用: var conn = Conn ...
- 递归添加 另一个ds 里的DataRow 时 报错:该行已经属于另一个表。
public void create_tree(DataSet ds, int parentid) { DataSet newds = new DataSet(); ...
- 【Xilinx-Petalinux学习】-02-建立PetaLinux工程
前面我已经把PetaLinux成功安装到了Ubuntu虚拟机当中了,接下来就要实际操作,将PetaLinux移植到我们自己的硬件平台当中去. step1:硬件描述文件 有两种PetaLinux工程建立 ...
- Django with uWSGI and nginx
Reference:http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html Setting up Dja ...
- ajax请求获取到数据,但是仍然不能触发success方法
这个问题消耗了我的很多时间. 原来是因为.php文件中的 echo echo json_encode($k); 后面少加了个exit; 因为echo echo json_encode($k); 之后 ...
- Zepto.js-事件处理
http://www.webdevs.cn/article/68.html web开发网 事件 $.Event $.Event(type, [properties]) ⇒ event 创建并初 ...
- Angular - - $sce 和 $sceDelegate
$sce $sce 服务是AngularJs提供的一种严格上下文转义服务. 严格的上下文转义服务 严格的上下文转义(SCE)是一种需要在一定的语境中导致AngularJS绑定值被标记为安全使用语境的模 ...