eclipse TableViewer显示表中数据(mysql)

时间:2024-10-12 14:38:10

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

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 { @O即枢潋雳verride 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)
© 手抄报圈