- 浏览: 1595483 次
- 来自: 上海
-
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
模拟window开打文件
模拟简单记事本
jar -cvfm 1.txt com.mymenu
import java.awt.Button; import java.awt.Dialog; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Label; import java.awt.TextArea; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; public class MyWinDemo { private Frame f; private TextField tf; private Button btn; private TextArea ta; private Dialog d; private Label lab; private Button okbtn; MyWinDemo(){ init(); } private void init(){ f=new Frame("my Window"); f.setBounds(300,100,600,500); f.setLayout(new FlowLayout()); tf=new TextField(60); btn=new Button("转到"); ta=new TextArea(25,70); d=new Dialog(f,"提示信息-self",true); d.setBounds(400,200,250,150); d.setLayout(new FlowLayout()); lab=new Label(); okbtn=new Button("确定"); d.add(lab); d.add(okbtn); f.add(tf); f.add(btn); f.add(ta); myEvent(); f.setVisible(true); } private void myEvent() { //添加 回车 时候 自动转到 tf.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { // TODO Auto-generated method stub if(e.getKeyCode()==KeyEvent.VK_ENTER){ showDir(); } } }); //确定按钮事件 okbtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub d.setVisible(false); } }); d.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub d.setVisible(false); } }); btn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { showDir(); } }); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0); } }); } private void showDir() { String dirPath=tf.getText(); File dir=new File(dirPath); if(dir.exists() && dir.isDirectory()){ ta.setText(""); String[] names=dir.list(); for (String name : names) { ta.append(name+"\r\n"); //ta.setText(text); } }else{ String info="您输入的信息:"+dirPath+"有误,请重新输入"; lab.setText(info); d.setVisible(true); } tf.setText(""); } public static void main(String[] args) { new MyWinDemo(); } }
模拟简单记事本
import java.awt.FileDialog; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /** * 实现菜单栏 */ public class MyMenuDemo { private Frame f; private MenuBar mb; private Menu m,subm; private MenuItem closeItem,openItem,saveItem,subItem1,subItem; private FileDialog openDialog,saveDialog; private TextArea ta; private File file; MyMenuDemo(){ init(); } private void init(){ f=new Frame("my Window"); f.setBounds(300,100,600,500); //f.setLayout(); mb=new MenuBar(); m=new Menu("文件"); closeItem=new MenuItem("退出"); openItem=new MenuItem("打开"); saveItem=new MenuItem("保存"); subm=new Menu("新建"); subItem1=new MenuItem("Web Project"); subItem=new MenuItem("Java Project"); subm.add(subItem); subm.add(subItem1); m.add(subm); m.add(openItem); m.add(saveItem); m.add(closeItem); mb.add(m); openDialog=new FileDialog(f,"我要打开",FileDialog.LOAD); saveDialog=new FileDialog(f,"我要保存",FileDialog.SAVE); ta=new TextArea(); f.add(ta); f.setMenuBar(mb); myEvent(); f.setVisible(true); } private void myEvent() { saveItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if(file==null){ saveDialog.setVisible(true); String dirPath=saveDialog.getDirectory(); String fileName=saveDialog.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.close(); } catch (IOException e2) { throw new RuntimeException("保存失败"); } } }); //打开菜单 openItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub openDialog.setVisible(true); String dirPath=openDialog.getDirectory(); String fileName=openDialog.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 e2) { throw new RuntimeException("打开异常"); } } }); closeItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub System.exit(0); } }); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0); } }); } public static void main(String[] args) { // TODO Auto-generated method stub new MyMenuDemo(); } }
jar -cvfm 1.txt com.mymenu
![](http://dl2.iteye.com/upload/attachment/0085/0848/63a88fa8-f934-31de-a8c7-5c17407cafcb.jpg)
发表评论
-
检测一个字符串是否在jvm的常量池中
2018-12-18 17:34 1012public static boolean inPool( ... -
UTC时间, GMT时间 ,夏令时
2017-08-18 15:12 2290经常混淆于此,特地研究了一下,记录在此以备忘。 整个地 ... -
java 反射List
2017-02-18 01:58 5676package com.enhance.reflect; ... -
JDK1.5 Exchange 两个线程互换数据
2016-08-04 18:00 1024import java.util.concurrent ... -
JDK1.5 CountDownLatch
2016-08-04 16:25 1064/* * 还有一个利用场景: ... -
java CyclicBarrier 循环障碍阻塞
2016-08-03 23:54 1026//一个同步辅助类,它允许一组线程互相等待,直到到达某个公 ... -
java 信号灯 Semaphore
2016-08-03 23:53 1833更多介绍http://blog.csdn.net/java20 ... -
java 使用读写锁设计一个缓存模型
2016-08-03 23:49 1425import java.util.HashMap; ... -
java 读写锁
2016-08-03 23:46 825import java.util.Random; i ... -
java 多个线程之间同步通信
2016-08-02 17:16 2405import java.util.concurrent ... -
jdk1.5 锁 Lock 和 Condition
2016-08-02 17:03 935// lock 练习 public class Lock ... -
JDK1.5 获取线程执行结果 Callable Future
2016-08-02 15:08 1181import java.util.Random; i ... -
JDK1.5 线程池
2016-08-02 14:48 811import java.util.concurrent ... -
java 多线程ThreadLocal
2016-08-02 00:13 1156import java.util.Random; ... -
java 定时器 Timer
2016-08-01 16:53 3907import java.util.Calendar; ... -
java 多线程同步+通信
2016-08-01 16:48 975/** *父子线程 交替打印10 次, 100次 ... -
java 线程同步
2016-08-01 16:43 1035import java.util.concurrent.l ... -
java多线程练习
2016-08-01 16:35 1848Java 传统多线程 Java 多线程同步 Java 多线 ... -
java 传统多线程
2016-08-01 16:34 1022/** * 传统多线程 */ public ... -
java 图片,剪切,缩放
2016-01-06 10:21 2241package out; import ja ...
相关推荐
在本视频教程“黑马程序员_毕向东_Java基础视频教程第22天-06-GUI(Action事件)”中,讲师毕向东深入讲解了Java GUI中的Action事件处理机制,这是构建用户友好界面的关键部分。 首先,我们要理解什么是GUI。GUI,...
在这个名为“黑马程序员_毕向东_Java基础视频教程第22天-01-GUI(概述).zip”的压缩包中,他讲解了Java图形用户界面(GUI)的基础知识。 GUI是计算机系统中一种直观的人机交互方式,通过图形元素如按钮、文本框、...
**第22-23天:Java Swing与GUI** 这部分会介绍Java的图形用户界面库Swing,如何创建窗口、按钮、文本框等组件,以及事件监听器的使用。 **第24-26天:Java网络编程** 学习者会接触Socket编程,理解TCP和UDP协议,...
- **事件委托机制**:是GUI编程中的一个重要概念,主要用于处理用户界面事件。它通过监听器模式来实现,使得事件的产生者和事件的处理者分离,提高了代码的灵活性和可维护性。 - **垃圾回收机制**:Java自动管理内存...
- **AWT (Abstract Window Toolkit)**:依赖操作系统,提供基本的图形用户界面组件。 - **Swing**:纯Java实现的轻量级组件,具有更好的跨平台性。 #### 18. Java流的理解 - **流**:表示数据传输的一个通道,用于...
"这表明项目的核心是一个用于酒店管理的数据库应用程序,而且这个应用具有图形用户界面(GUI),该界面是用"摆动"(可能是Swing,Java的一种GUI工具包)开发的。GUI使得用户可以更直观地与系统交互,提高了用户体验...
7. **GUI组件**:GUI(图形用户界面)程序中的基本组件是容器,它可以包含其他组件如按钮、标签和菜单等。 8. **窗体文件扩展名**:在Visual Basic等环境中,窗体文件的扩展名为.frm。 9. **Java平台**:J2ME是...
根据提供的文档内容,我们可以从中提炼出一系列关于计算机二级等级考试的知识点,具体涵盖变量命名规则、数据库操作、面向对象编程基础、图形用户界面(GUI)组件处理、数据结构和算法、网络编程基础等主题。...
在编程环境下,特别是图形用户界面(GUI)应用开发中,经常需要在一个控件的事件中触发另一个控件的事件。例如,在题目中提到的情景下,我们需要在`CmdPrint`的`Click`事件中触发`CmdOk`的`Click`事件。正确的做法是...
- **SAPGUI**: 用户图形界面,是用户与SAP系统交互的主要方式之一。 - **SAP Web AS (Web Application Server)**: 提供Web服务支持,使得SAP系统可以通过互联网进行访问。 ### 相关技术和标准 #### 1. 版权声明 - ...
- **知识点**: Windows 操作系统的图形用户界面。 - **解析**: 当菜单选项呈暗灰色时,意味着这些选项在当前环境下不可用。 - **答案**: A. 这些项在当前无效 #### 22. 控件大小的修改 - **知识点**: GUI 控件的...