这是我的代码,可是无法显示每一个列的标题,我是刚研究swt,请高手们看下哪理由问题。import org.eclipse.jface.viewers.TableLayout;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.ColumnWeightData;
import org.eclipse.swt.SWT;
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.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
public class CreatTableViewer { private Table table;
//创建通讯录表格
public void creatTableViewerPeople(Composite composite){
/**第一步:定义一个TableViewer对象,式样:MULTI可多选,H_SCROLL 有水平滚动条
* V_SCROLL有垂直滚动条,BORDER有边框,FULL_SELECTION整行选择。
*/
final TableViewer tableViewerPeople = new TableViewer(composite, SWT.BORDER|SWT.MULTI|SWT.FULL_SELECTION);
table = tableViewerPeople.getTable();
table.setLinesVisible(true);
table.setHeaderVisible(true);
table.setBounds(91, 85, 100, 100);
TableLayout tLayout = new TableLayout();
table.setLayout(tLayout);
tLayout.addColumnData(new ColumnWeightData(10));
new TableColumn(table,SWT.NONE).setText("ID 号");
tLayout.addColumnData(new ColumnWeightData(40));
new TableColumn(table,SWT.NONE).setText("姓名");
tLayout.addColumnData(new ColumnWeightData(20));
new TableColumn(table,SWT.NONE).setText("性别");
}
public static void main(String[] args){
final Display display = Display.getDefault();
final Shell shell = new Shell();
shell.setSize(570, 443);
shell.setText("SWT Application");
shell.setLayout(new FormLayout());
CreatTableViewer ct = new CreatTableViewer();
final Composite composite1 = new Composite(shell,SWT.NONE);
final FormData fd_composite = new FormData();
fd_composite.bottom = new FormAttachment(100, -5);
fd_composite.right = new FormAttachment(0, 535);
fd_composite.top = new FormAttachment(0, 0);
fd_composite.left = new FormAttachment(0, 0);
composite1.setLayoutData(fd_composite);
ct.creatTableViewerPeople(composite1);
shell.layout();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.ColumnWeightData;
import org.eclipse.swt.SWT;
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.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
public class CreatTableViewer { private Table table;
//创建通讯录表格
public void creatTableViewerPeople(Composite composite){
/**第一步:定义一个TableViewer对象,式样:MULTI可多选,H_SCROLL 有水平滚动条
* V_SCROLL有垂直滚动条,BORDER有边框,FULL_SELECTION整行选择。
*/
final TableViewer tableViewerPeople = new TableViewer(composite, SWT.BORDER|SWT.MULTI|SWT.FULL_SELECTION);
table = tableViewerPeople.getTable();
table.setLinesVisible(true);
table.setHeaderVisible(true);
table.setBounds(91, 85, 100, 100);
TableLayout tLayout = new TableLayout();
table.setLayout(tLayout);
tLayout.addColumnData(new ColumnWeightData(10));
new TableColumn(table,SWT.NONE).setText("ID 号");
tLayout.addColumnData(new ColumnWeightData(40));
new TableColumn(table,SWT.NONE).setText("姓名");
tLayout.addColumnData(new ColumnWeightData(20));
new TableColumn(table,SWT.NONE).setText("性别");
}
public static void main(String[] args){
final Display display = Display.getDefault();
final Shell shell = new Shell();
shell.setSize(570, 443);
shell.setText("SWT Application");
shell.setLayout(new FormLayout());
CreatTableViewer ct = new CreatTableViewer();
final Composite composite1 = new Composite(shell,SWT.NONE);
final FormData fd_composite = new FormData();
fd_composite.bottom = new FormAttachment(100, -5);
fd_composite.right = new FormAttachment(0, 535);
fd_composite.top = new FormAttachment(0, 0);
fd_composite.left = new FormAttachment(0, 0);
composite1.setLayoutData(fd_composite);
ct.creatTableViewerPeople(composite1);
shell.layout();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
解决方案 »
- 求wrox的《java网络编程指南》源码
- [求助]关于JTextField限制输入的问题
- 问一个关于serverSocket的问题
- 一道java面试题(今天刚面试回来)
- 谁能说说 Collection的具体用法、作用?
- 苦啃java的朋友,为了以后便于联系,我想各位是否把自己的QQ及E-MAIL留下,以方便学习交流呢?
- 高分求教:如何熟练使用jbuilder下 dbswing中的jdbtable控件??在线等
- 这一贴,我只谈Tomcat数据连结池!(希望各位参观,并能有所收获)
- java程序设计教程(第三版)的IO问题
- 请问JDBC连接中如何判断一个表是否存在呀?你开个价
- 急,快
- 提个小问题~~
请教高手们看看,在线等。着急啊。
你先用熟SWT再用JFace吧。
你的代码最简单的改法也就是这样了public class CreatTableViewer { public void creatTableViewerPeople(Composite composite) {
Table table = new Table(composite, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
table.setLinesVisible(true);
table.setHeaderVisible(true); TableLayout tLayout = new TableLayout();
table.setLayout(tLayout);
tLayout.addColumnData(new ColumnWeightData(10));
TableColumn c1 = new TableColumn(table, SWT.NONE);
c1.setText("ID 号");
tLayout.addColumnData(new ColumnWeightData(40));
new TableColumn(table, SWT.NONE).setText("姓名");
tLayout.addColumnData(new ColumnWeightData(20));
new TableColumn(table, SWT.NONE).setText("性别");
new TableViewer(table);
} public static void main(String[] args) {
final Display display = Display.getDefault();
final Shell shell = new Shell();
shell.setSize(570, 443);
shell.setText("SWT Application");
shell.setLayout(new FillLayout()); CreatTableViewer ct = new CreatTableViewer();
final Composite composite1 = new Composite(shell, SWT.NONE);
composite1.setLayout(new FillLayout());
ct.creatTableViewerPeople(composite1); shell.layout();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}}
顺别问下为TableViewer配置ContentProvider,LabelProvider,
ContentProvider,LabelProvider是什么意思,干什么用的?