[b]
[color=red][b][b]写的这个在eclipse下面Run,结果怎么弹不出来,就闪一下然后什么都没有,请大牛指教一二,感激不尽!!![/b][/b][/color]
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][/b][/b]
[color=red][b][b]写的这个在eclipse下面Run,结果怎么弹不出来,就闪一下然后什么都没有,请大牛指教一二,感激不尽!!![/b][/b][/color]
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][/b][/b]