java GUI简单记事本

时间:2022-09-06 08:33:48

代码:

 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 GUI简单记事本的更多相关文章

  1. Java实现简单记事本

    代码实现: import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; im ...

  2. Java GUI 简单台球游戏模型

    完成效果: 1 package com.neuedu.test; 2 3 import java.awt.Frame; 4 import java.awt.Graphics; 5 import jav ...

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

    第一个java程序--使用记事本编辑 经过上篇文章的java环境搭建成功的小伙伴们可以在自己的计算机上编写属于自己的java程序了yo~ 还没有搭建环境变量的小伙伴请转移到上一篇的随笔中去完成搭建. ...

  4. java GUI (课堂笔记)

    关于java GUI Swing组件: JFrame 窗口组件 JLabel 标签 JButton 按钮组件 JTextField 单行文本框 系统控件(JDK自带) 自定义控件(模仿系统控件): 继 ...

  5. java Gui编程 事件监听机制

    1.     GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在DOS命令行中通过javac java命令启动程序. 软件的交互的方式:   1. 命令交互方式    图书管理系统 ...

  6. paip.java gui swt/jface 最佳实践

    paip.java gui swt/jface 最佳实践 1. 工具:Eclipse +jigloo4 1 2. 安装插件: 1 1. IMPORT swt lib 2 2. 新建立窗体 2 3. 运 ...

  7. [置顶] java Gui 键盘监听事件

    简单写一个java Gui键盘监听事件,实现的效果就是按下键盘控制台输出你按下的键.比如:按下A控制台就输出A 效果如图: 以下把实现的效果分为几个步骤: 1.新建一个窗体类继承窗体: 2.给这个窗体 ...

  8. IntelliJ IDE 开发Java GUI 入门

    j主要对java 的GUI相关知识进行简单的介绍和总结,整个博客按照创建一个java GUI的顺序进行介绍,期间穿插讲解用到的java Swing的布局.控件等相关知识.本博客所进行的讲解及工程的创建 ...

  9. Java GUI编程4---标签组件JLabel

    Java GUI编程4---标签组件JLabel 2018年06月11日 22:06:58 蓝蓝223 阅读数 12103更多 个人分类: Java书籍摘抄 所属专栏: Java Swing图形界面 ...

随机推荐

  1. 【Java并发编程实战】-----“J.U.C”:Exchanger

    前面介绍了三个同步辅助类:CyclicBarrier.Barrier.Phaser,这篇博客介绍最后一个:Exchanger.JDK API是这样介绍的:可以在对中对元素进行配对和交换的线程的同步点. ...

  2. spring拦截器排除 静态资源

    拦截器需要排除静态资源,不然会造成资源浪费 <!-- 拦截器 --> <mvc:interceptors> <!-- 使用bean定义一个Interceptor,直接定义 ...

  3. &lbrack;转载&rsqb;ExtJs4 笔记(4) Ext&period;XTemplate 模板

    作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...

  4. 获得sql对应的binary

    Declare @max Varbinary(max) select @Max = convert(Varbinary(max) , ' Select ' ) Print ' DECLARE @sql ...

  5. UVA 10600 ACM Contest and Blackout 次小生成树

    又是求次小生成树,就是求出最小生成树,然后枚举不在最小生成树上的每条边,求出包含着条边的最小生成树,然后取一个最小的 #include <iostream> #include <al ...

  6. leetcode problem 33 -- Search in Rotated Sorted Array

    Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...

  7. SxsTrace工具使用方法

    Windows7平台上有一个强大的SxsTrace工具,可以跟踪调试应用程序运行时需要的动态库的版本和路径.   SxsTrace使用的方法:   1.首先必须以Administrator用户身份登录 ...

  8. &lbrack;LeetCode&rsqb;题解(python):062-Unique Paths

    题目来源: https://leetcode.com/problems/unique-paths/ 题意分析: 给定两个整型m,n.判断从一个m×n的矩阵里面,从(0,0)走到(m-1,n-1)一共有 ...

  9. 0&period; Java开发中的23种设计模式详解&lpar;转&rpar;

    设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  10. Alpha阶段小结

    1 团队的源码仓库地址 https://github.com/WHUSE2017/MyGod 2 Alpha过程回顾 2.1 团队项目预期 有一个可视化的安卓APP,实现二手交易基本功能.预期的典型用 ...