- 浏览: 78776 次
- 性别:
- 来自: 湖南
最新评论
-
lysvanilla:
补充: 对于action返回input的补充,查阅源代 ...
No result defined for action and result input
这次采用的是SWT开发的,利用了Jigloo插件
知识点:
1.FileDialog
2.文件的读写
package chapter01.sample02; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.ToolBar; import org.eclipse.swt.widgets.ToolItem; import com.cloudgarden.resource.SWTResourceManager; /** * This code was edited or generated using CloudGarden's Jigloo * SWT/Swing GUI Builder, which is free for non-commercial * use. If Jigloo is being used commercially (ie, by a corporation, * company or business for any purpose whatever) then you * should purchase a license for each developer using Jigloo. * Please visit www.cloudgarden.com for details. * Use of Jigloo implies acceptance of these licensing terms. * A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR * THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED * LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE. */ public class FileReaderTool extends org.eclipse.swt.widgets.Composite { private Menu menu1; private Text text_file; private ToolItem toolItem_save; private ToolItem toolItem_edit; private ToolItem toolItem_open; private ToolBar toolBar1; private MenuItem aboutMenuItem; private MenuItem contentsMenuItem; private Menu helpMenu; private MenuItem helpMenuItem; private MenuItem exitMenuItem; private MenuItem closeFileMenuItem; private MenuItem saveFileMenuItem; private MenuItem newFileMenuItem; private MenuItem openFileMenuItem; private Menu fileMenu; private MenuItem fileMenuItem; { //Register as a resource user - SWTResourceManager will //handle the obtaining and disposing of resources SWTResourceManager.registerResourceUser(this); } public FileReaderTool(Composite parent, int style) { super(parent, style); initGUI(); } /** * Initializes the GUI. */ private void initGUI() { try { this.setSize(new org.eclipse.swt.graphics.Point(400,300)); this.setBackground(SWTResourceManager.getColor(192, 192, 192)); FormLayout thisLayout = new FormLayout(); this.setLayout(thisLayout); this.setBackgroundImage(SWTResourceManager.getImage("img/jpg/8.jpg")); { text_file = new Text(this, SWT.MULTI | SWT.WRAP | SWT.V_SCROLL); FormData text_fileLData = new FormData(); text_fileLData.width = 378; text_fileLData.height = 257; text_fileLData.left = new FormAttachment(0, 1000, 0); text_fileLData.top = new FormAttachment(0, 1000, 43); text_fileLData.right = new FormAttachment(1000, 1000, 0); text_fileLData.bottom = new FormAttachment(1000, 1000, 0); text_file.setLayoutData(text_fileLData); text_file.setVisible(false); } { toolBar1 = new ToolBar(this, SWT.HORIZONTAL | SWT.H_SCROLL); FormData toolBar1LData = new FormData(); toolBar1LData.width = 400; toolBar1LData.height = 43; toolBar1LData.left = new FormAttachment(0, 1000, 0); toolBar1LData.top = new FormAttachment(0, 1000, 0); toolBar1LData.right = new FormAttachment(1000, 1000, 0); toolBar1.setLayoutData(toolBar1LData); { toolItem_open = new ToolItem(toolBar1, SWT.NONE); toolItem_open.setImage(SWTResourceManager.getImage("img/png/New Document.png")); toolItem_open.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent evt) { toolItem_openWidgetSelected(evt); } }); } { toolItem_edit = new ToolItem(toolBar1, SWT.NONE); toolItem_edit.setImage(SWTResourceManager.getImage("img/png/Write Document.png")); toolItem_edit.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent evt) { toolItem_editWidgetSelected(evt); } }); } { toolItem_save = new ToolItem(toolBar1, SWT.NONE); toolItem_save.setImage(SWTResourceManager.getImage("img/png/Web Browser.png")); toolItem_save.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent evt) { toolItem_saveWidgetSelected(evt); } }); } } { menu1 = new Menu(getShell(), SWT.BAR); getShell().setMenuBar(menu1); { fileMenuItem = new MenuItem(menu1, SWT.CASCADE); fileMenuItem.setText("File"); { fileMenu = new Menu(fileMenuItem); { openFileMenuItem = new MenuItem(fileMenu, SWT.CASCADE); openFileMenuItem.setText("Open"); } { newFileMenuItem = new MenuItem(fileMenu, SWT.CASCADE); newFileMenuItem.setText("New"); } { saveFileMenuItem = new MenuItem(fileMenu, SWT.CASCADE); saveFileMenuItem.setText("Save"); } { closeFileMenuItem = new MenuItem(fileMenu, SWT.CASCADE); closeFileMenuItem.setText("Close"); } { exitMenuItem = new MenuItem(fileMenu, SWT.CASCADE); exitMenuItem.setText("Exit"); } fileMenuItem.setMenu(fileMenu); } } { helpMenuItem = new MenuItem(menu1, SWT.CASCADE); helpMenuItem.setText("Help"); { helpMenu = new Menu(helpMenuItem); { contentsMenuItem = new MenuItem(helpMenu, SWT.CASCADE); contentsMenuItem.setText("Contents"); } { aboutMenuItem = new MenuItem(helpMenu, SWT.CASCADE); aboutMenuItem.setText("About"); } helpMenuItem.setMenu(helpMenu); } } } this.layout(); } catch (Exception e) { e.printStackTrace(); } } /** * Auto-generated main method to display this * org.eclipse.swt.widgets.Composite inside a new Shell. */ public static void main(String[] args) { Display display = Display.getDefault(); Shell shell = new Shell(display,SWT.SHELL_TRIM); FileReaderTool inst = new FileReaderTool(shell, SWT.NULL); Point size = inst.getSize(); shell.setLayout(new FillLayout()); shell.setImage(SWTResourceManager.getImage("img/ico/Bookmark.ico")); shell.setText("\u6587\u672c\u9605\u8bfb\u5668"); shell.layout(); if(size.x == 0 && size.y == 0) { inst.pack(); shell.pack(); } else { Rectangle shellBounds = shell.computeTrim(0, 0, size.x, size.y); shell.setSize(shellBounds.width, shellBounds.height); } shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } } private void toolItem_editWidgetSelected(SelectionEvent evt) { FileDialog fileDialog = new FileDialog(getShell(), SWT.OPEN); fileDialog.setText("Choose a file to read!"); String[] fileFilters = new String[]{"*.txt","*.java","*.doc"}; fileDialog.setFilterExtensions(fileFilters); String select = fileDialog.open(); System.out.println(select); StringBuffer sBuffer = new StringBuffer(); try { FileReader fileReader = new FileReader(select); BufferedReader bufferedReader = new BufferedReader(fileReader); String string = bufferedReader.readLine(); while(string!=null){ sBuffer.append(string+"\n"); string = bufferedReader.readLine(); } bufferedReader.close(); fileReader.close(); } catch (Exception e) { e.printStackTrace(); } text_file.setText(sBuffer.toString()); text_file.setVisible(true); } private void toolItem_openWidgetSelected(SelectionEvent evt) { text_file.setVisible(true); } private void toolItem_saveWidgetSelected(SelectionEvent evt) { String text = text_file.getText(); System.out.println(text); FileDialog fileDialog = new FileDialog(getShell(), SWT.SAVE); String[] fileFilters = new String[]{"*.txt","*.java","*.doc"}; fileDialog.setFilterExtensions(fileFilters); fileDialog.setText("Save a path to save the file"); String selected = fileDialog.open( ); System.out.println(selected); try { FileWriter fileWriter = new FileWriter(selected); BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); bufferedWriter.write(text); bufferedWriter.close(); fileWriter.close(); } catch (Exception e) { e.printStackTrace(); } } }
界面显示:
程序启动:
读取文件:
保存文件:
保存后的文件:
发表评论
-
Java实例开发01-01 屏幕捕获工具
2011-09-09 16:07 962知识点: 1.Swing (使用eclipse插件Jiglo ... -
Java删除文件和目录
2011-09-08 15:02 821package book.io; ... -
实例解析:在Java语言中对文件操作大全
2011-09-07 22:50 852一.获得控制台用户 ... -
JAVA的文件操作
2011-09-07 22:30 89711.3 I/O类使用 由于在IO ... -
Java SE 学习笔记04 代码
2011-09-01 10:00 792普通内部类,静态内部类代码 Java代码 ... -
Java SE 学习笔记04
2011-09-01 10:00 851★内部类(inner class)内部类又称嵌套类,是指定 ... -
Java SE 学习笔记03 代码
2011-09-01 09:59 761关于父类与子类在属性 ... -
Java SE 学习笔记03
2011-09-01 09:59 753面向对象基础 ★面向对象强调数据结构第一,算法第二 ... -
Java SE 学习笔记02 代码
2011-09-01 09:58 753数组相关API Java代码 / ... -
Java SE 学习笔记02
2011-09-01 09:57 701★数组JAVA中的数组是一个具有相同类型元素的有序集合,数 ... -
Java SE 学习笔记01 代码
2011-09-01 09:56 862Java中的基本数据类型 Java代码 ... -
Java SE 学习笔记01
2011-09-01 09:55 1544★JAVA的特性 Simple简单(去掉了C++中许多 ...
相关推荐
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Java+XML写的RSS阅读器.rar Java+XML日程提醒系统.rar Java24点游戏逼真图形版代码.rar JavaScript万年历.rar Java二进制IO类与文件复制操作实例.rar Java从压缩包中提取文件.rar Java从网络取得文件.rar Java仓库...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
程序可以采用 JAVA 开发,但是因为它的虚拟机 (Virtual Machine) Dalvik ,是将 JAVA 的 bytecode 转成 自 己的格式,回避掉需要付给 SUN 有关 JAVA 的授权费用。 对手机制造者的影响 � Android 是款开源的移动计算...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多...
中文名: Java2游戏编程 ...附录C 使用JNI创建一个gamepad阅读器 附录D 使用.JAR文件来部署Java applet 附录E 正确运行Java 2 applet 附录F Magic游戏引擎源码清单 附录G 更多的资源 附录H 配书光盘中有些什么
《正则表达式经典实例》提供了100多个实例,以帮助读者使用正则表达式处理数据和文本。即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的错误,《正则表达式经典实例》对于如何使用正则表达式来解决...
Java2核心技术第I卷.基础知识 目录: 译者序 前言 第1章Java程序设计概述 1.1 Java程序设计平台 1.2 Java“白皮书”的关键术语 1.2.1简单性 1.2.2面向对象 1.2. 3分布式 1. 2.4健壮性 1. 2.5安仝...