[b][b]写的这个在eclipse下面Run,结果怎么弹不出来,就闪一下然后什么都没有,请大牛指教一二,感激不尽!!![/b]
package com.test.control;
import java.io.*;
import org.eclipse.swt.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.widgets.*;
public class TestEditor extends SelectionAdapter {
private Shell shell ;
private Text textarea ;
private String filename ;
public TestEditor(){
Display display = new Display() ;
shell = new Shell(display) ;
shell.setText("java文本编辑器") ;
shell.setBounds(10, 10, 600, 400) ;
//建立文件菜单
Menu mainMenu = new Menu(shell,SWT.BAR) ;
shell.setMenuBar(mainMenu) ;
//文件菜单
MenuItem fileItem = new MenuItem(mainMenu,SWT.CASCADE) ;
fileItem.setText("文件&F") ;
Menu fileMenu = new Menu(shell,SWT.DROP_DOWN) ;
fileItem.setMenu(fileMenu) ;
MenuItem newFileItem = new MenuItem(fileMenu,SWT.CASCADE) ;
newFileItem.setText("新建&N") ;
newFileItem.addSelectionListener(this) ;
MenuItem openFileItem = new MenuItem(fileMenu,SWT.CASCADE) ;
openFileItem.setText("打开&O") ;
openFileItem.addSelectionListener(this) ;
MenuItem saveFileItem = new MenuItem(fileMenu,SWT.CASCADE) ;
saveFileItem.setText("保存&S") ;
saveFileItem.addSelectionListener(this) ;
MenuItem saveAsFileItem = new MenuItem(fileMenu,SWT.CASCADE) ;
saveAsFileItem.setText("另存为...") ;
saveAsFileItem.addSelectionListener(this) ;
new MenuItem(fileMenu,SWT.SEPARATOR) ;
MenuItem exitItem = new MenuItem(fileMenu,SWT.CASCADE) ;
exitItem.setText("退出&E") ;
exitItem.addSelectionListener(this) ;
//帮助菜单
MenuItem helpItem = new MenuItem(mainMenu,SWT.CASCADE) ;
helpItem.setText("帮助&H") ;
Menu helpMenu = new Menu(shell,SWT.DROP_DOWN) ;
helpItem.setMenu(helpMenu) ;
MenuItem aboutItem = new MenuItem(helpMenu,SWT.CASCADE) ;
aboutItem.setText("关于&A") ;
aboutItem.addSelectionListener(this) ;
//编辑区域
textarea = new Text(shell,SWT.NONE|SWT.BORDER) ;
textarea.setBounds(1,1,600,400) ;
shell.pack() ;
shell.open() ;
while(!shell.isDisposed()){
if(!display.readAndDispatch())
display.sleep() ;
display.dispose() ;
}
}
//菜单选择事件
public void widgetSelected(SelectionEvent e){
try{
if(e.getSource().toString().indexOf("新建") != -1){
textarea.setText("") ;
}
else if(e.getSource().toString().indexOf("打开") != -1){
//选择文件
FileDialog dialog1 = new FileDialog(shell,SWT.OPEN) ;
filename = dialog1.open() ; //全路径
//读取
FileReader fr = new FileReader(filename) ;
BufferedReader br = new BufferedReader(fr) ;
String str = "" ;
while(br.ready()){
int c = br.read() ;
str += (char) c ;
}
textarea.setText(str) ;
br.close() ;
fr.close() ;
shell.setText("Java文本编辑器-" + filename) ;
}
else if(e.getSource().toString().indexOf("保存") != -1){
//写入文件
File file = new File(filename) ;
FileWriter fos = new FileWriter(file,true) ;
BufferedWriter bos = new BufferedWriter(fos) ;
PrintWriter pos = new PrintWriter(bos) ;
//写入对象数据
pos.print(textarea.getText()) ;
bos.close() ;
pos.close() ;
fos.close() ;
}
else if(e.getSource().toString().indexOf("另存为...") != -1){
//选择文件
FileDialog dialog2 = new FileDialog(shell,SWT.OPEN) ;
String fileName = dialog2.open() ;
//写入文件
File file = new File(fileName) ;
FileWriter fos = new FileWriter(file,true) ;
BufferedWriter bos = new BufferedWriter(fos) ;
PrintWriter pos = new PrintWriter(bos) ;
//写入对象数据
pos.write(textarea.getText()) ;
bos.close() ;
pos.close() ;
fos.close() ;
}
else if(e.getSource().toString().indexOf("退出") != -1)
System.exit(0) ;
else if(e.getSource().toString().indexOf("关于") != -1){
//显示对话框
MessageBox mb = new MessageBox(shell,SWT.ICON_WARNING) ;
mb.setMessage("文本编辑器") ;
mb.setText("关于") ;
mb.open() ;
}
}catch(FileNotFoundException ex){
}catch(IOException ev){
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new TestEditor() ;
}
}
[/b]
分享到:
相关推荐
swt 基础教程 swt 基础教程 swt 基础教程swt 基础教程swt 基础教程
swt 组件介绍,使你开发的好帮手
用Java SWT编写的类似WIndows自带的文本编辑器(写字板) 包括剪贴,复制,粘贴,新建,打开,保存等 以及文本帮助菜单,字体格式
java SWT 基本窗口 组件 开发
DJNativeSwing-SWT组件-Java GUI中内嵌浏览器相关JAR包
本包包含基础组件的demo及属性介绍,扩展组件,自定义组件,滚动条,分割线,分组、布局、选项卡等以及高级组件的应用demo
SWT常用窗口组件详情,以及各个组件对应的系统方法的方法解释
自己写的文本编辑器,以windows记事本为模版,增加编译运行java程序的功能,运行java程序时可截获控制台输出,并与之交互。本人也是新手,资源无偿下载,大家帮助测试,希望指出bug,提出宝贵意见帮助我改正
Eclipse开发经典教程:常用SWT组件.pdf
SWT提供的标准组件毕竟有限,很多时候我们都需要自定义组件。本文介绍了自定以SWT组件的方法,可以创建独立的也可以创建复合的。 文章 地址 : ...
编程实现解释显示效果较好的简单浏览器。网络上有很多五花八门的用Java制作的简易浏览器,这里简单介绍一种利用SWT组件开发的简易浏览器。
SWT 组件方便javaGUI设计。。。
SWT Table 单元格编辑实例代码
代码如下: 实现1: BasicEditor.java 代码如下:package swt_jface.demo5; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io....
java Frame实现的Java文本编辑器,主要使用org.eclipse.swt包下的子包和类开发
这是我找到的最全的SWT示例,即使在官方网站上也非常难找,示例包括以下内容:SWT模式窗体,SWT浏览器,SWT树,SWT工具条,SWT画图工具,SWT图形,SWT各种布局,SWT剪贴板,SWT快捷键,SWT菜单,SWT文本编辑器,SWT...
swt sqlserver分页组件,详情查看我的博客
java语言,通过swt调用ocx组件的源代码!前提是要有swt开发环境!
java SWT简单小工具java SWT简单小工具java SWT简单小工具java SWT简单小工具