eclipse 不能运行swt

我用最新的eclipsehelio1.5但是有的程序不能运行swt的窗口为什么版本太高吗... 我用最新的eclipse helio 1.5
但是有的程序不能运行swt的窗口
为什么
版本太高吗
展开
 我来答
陈学阳
2010-10-13 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5652万
展开全部
不知道这个程序对你有没有帮助

package swt;

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ControlEditor;
import org.eclipse.swt.custom.TableCursor;
import org.eclipse.swt.custom.TableEditor;
import org.eclipse.swt.custom.ViewForm;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swt.widgets.Text;

public class SimpleTable2 {

/**
* Launch the application
* @param args
*/
private Shell shell;
private Composite composite;
private ViewForm viewForm;
private Table table;

private void createShell(){
shell = new Shell();
shell.setSize(500, 375);
shell.setText("SWT Application");
createViewForm();
}

private void createViewForm(){
viewForm=new ViewForm(shell,SWT.NONE);
createComposite();
viewForm.setContent(composite);
viewForm.pack();
}

private void createComposite(){
composite=new Composite(viewForm,SWT.NONE);
createTable();
composite.pack();
}

private void createTable() {
table=new Table(composite,SWT.FULL_SELECTION);
table.setHeaderVisible(true);
table.setLinesVisible(true);

String[] header=;

for(int i=0;i<header.length;i++){
TableColumn column=new TableColumn(table,SWT.NONE);
column.setText(header[i]);
}

TableItem tableItem=new TableItem(table,SWT.NONE);
tableItem.setText(new String[]);

tableItem=new TableItem(table,SWT.NONE);
tableItem.setText(new String[]);

for(int i=0;i<table.getColumnCount();i++)
table.getColumn(i).pack();
table.pack();

//add ControlEditor on TableCursor
final TableCursor cursor=new TableCursor(table,SWT.NONE);
//cursor令使用左右键选择单元格成为可能
final ControlEditor editor=new ControlEditor(cursor);
editor.grabHorizontal=true;
editor.grabVertical=true;
cursor.addSelectionListener(new SelectionListener(){

public void widgetDefaultSelected(SelectionEvent e) {
//当触发此事件时才创建text(并为她添加事件),并用setFocus()把她固定住
final Text text=new Text(cursor,SWT.NONE);
TableItem row=cursor.getRow();
int column=cursor.getColumn();
text.setText(row.getText(column));
text.addKeyListener(new KeyListener(){

public void keyPressed(KeyEvent e) {
if(e.character==SWT.CR){
TableItem row=cursor.getRow();
int column=cursor.getColumn();
row.setText(column,text.getText());
text.dispose();
}
}

public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub

}

});
text.addFocusListener(new FocusListener(){

public void focusGained(FocusEvent e) {
// TODO Auto-generated method stub

}

public void focusLost(FocusEvent e) {
text.dispose(); //目前认为可有可无
}

});
editor.setEditor(text);
text.setFocus(); //将text固定于某个单元格上
}

public void widgetSelected(SelectionEvent e) {
table.setSelection(new TableItem[]);
//当选中某行时,此行出现阴影
}

});

}

public static void main(String[] args) {
final Display display = Display.getDefault();
SimpleTable2 st=new SimpleTable2();
//
st.createShell();

st.shell.pack();
st.shell.open();
st.shell.layout();
while (!st.shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}

}

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela
天天看资料小站
2010-10-13 · TA获得超过205个赞
知道小有建树答主
回答量:379
采纳率:0%
帮助的人:253万
展开全部
之前安装JDK了?配置路径了?程序没有错?应该是可以运行swt窗口的……
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式