eclipse TableViewer显示表中数据(mysql)

2025-09-25 16:25:26

1、新建一个界面,不熟悉操作看下面的经验。

1eclipse rcp显示视图定位

0eclipse table使用增加删除一行数据

eclipse TableViewer显示表中数据(mysql)

2、显示表的数据制作一个实体类:

public class Shangpinxinxi{

private String fenlei;

private String mingcheng;

private String zhujima;

private String danwei;

private float jiage;

private float hyjiage;

public String getfenlei(){

return fenlei;

}

public String getmingcheng(){

return mingcheng;

}

public String getzhujima(){

return zhujima;

}

public String getdanwei(){

return danwei;

}

public float getjiage(){

return jiage;

}

public float gethyjiage(){

return hyjiage;

}

public void setfenlei(String fenlei){

this.fenlei=fenlei;

}

public void setmingcheng(String mingcheng){

this.mingcheng=mingcheng;

}

public void setzhujima(String zhujima){

this.zhujima=zhujima;

}

public void setdanwei(String danwei){

this.danwei=danwei;

}

public void setjiage(float jiage){

this.jiage=jiage;

}

public void sethyjiage(float hyjiage){

this.hyjiage=hyjiage;

}

}

eclipse TableViewer显示表中数据(mysql)

3、制作一个标签类,在TableViewer中显示内容:

public class Spbiaoqian implements ITableLabelProvider  {

@Override

public void addListener(ILabelProviderListener listener) {

}

@Override

public void dispose() {

}

@Override

public boolean isLabelProperty(Object element, String property) {

return false;

}

@Override

public void removeListener(ILabelProviderListener listener) {

}

@Override

public Image getColumnImage(Object element, int columnIndex) {

return null;

}

@Override

public String getColumnText(Object element, int columnIndex) {

if (element instanceof Shangpinxinxi){

Shangpinxinxi xx = (Shangpinxinxi)element;

switch(columnIndex){

case 0:

return xx.getfenlei();

case 1:

return xx.getmingcheng();

case 2:

return xx.getzhujima();

case 3:

return xx.getdanwei();

case 4:

return Float.toString(xx.getjiage());

case 5:

return Float.toString(xx.gethyjiage());

}

}

return null;

}

}

eclipse TableViewer显示表中数据(mysql)

4、添加一个类,内容提供器:

public class Sprongqi implements IStructuredContentProvider {

public Object[] getElements(Object inputElement) {

if(inputElement instanceof List){

return ((List<?>)inputElement).toArray();

}else{

return new Object[0];

}

}

public void dispose() {

}

public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {

}

}

eclipse TableViewer显示表中数据(mysql)

5、在窗口打开前,初始化:

//private TableViewer tv;

tv.setContentProvider(new Sprongqi());

tv.setLabelProvider(new Spbiaoqian());

tv.setInput((List<Shangpinxinxi>) new ArrayList<Shangpinxinxi>());

eclipse TableViewer显示表中数据(mysql)

6、双击“刷新数据”,编辑widgetSelected这个方法:

Connection conn=Sheyingdatabase.getsyconnection();

@SuppressWarnings("unchecked")

List<Shangpinxinxi> splist = (List<Shangpinxinxi>) tv.getInput();

splist.clear();

try {

Statement st=conn.createStatement();

ResultSet rs=st.executeQuery("select * from shangpinxinxi order by fenlei asc");

while(rs.next()){

Shangpinxinxi xx=new Shangpinxinxi();

xx.setfenlei(rs.getString(1));

xx.setmingcheng(rs.getString(2));

xx.setzhujima(rs.getString(3));

xx.setdanwei(rs.getString(4));

xx.setjiage(rs.getFloat(5));

xx.sethyjiage(rs.getFloat(6));

splist.add(xx);

}

tv.setInput(splist);

rs.close();

st.close();

} catch (SQLException e1) {

MessageDialog.openError(null, "错误", "系统刷新商品信息数据时出现错误!");

}

eclipse TableViewer显示表中数据(mysql)

7、运行项目,点击“刷新数据”。表中数据显示在table中!

eclipse TableViewer显示表中数据(mysql)

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢