各位大侠:
我写了一个数据库程序,将查询到的结果(table)显示在一个JScrollPane中;查询到第二次以后table再次显示在JScrollPane时数据会与第一次查询返回的table重叠;采用了scrollPane.setVisible(true);contentPane.remove(scrollPane)后,在JScrollPane中数据重叠消失了,但JScrollPane却不会滚动了。请问怎么解决。
附代码:public void opentable()
{
frame = SWT_AWT.new_Frame(composite);
panel = new Panel(new BorderLayout())
{
private static final long serialVersionUID = -4473097649948915740L; public void update(Graphics g)
{
paint(g);
}
};
panel.removeAll();
frame.add(panel);
frame.setVisible(true);
root = new JRootPane();
panel.add(root);
contentPane = root.getContentPane();
table = new JTable(rows, columnHeads);
table.setAutoResizeMode(0);
scrollPane = new JScrollPane(table);
scrollPane.setRowHeaderView(new RowHeaderTable(table, 40));
scrollPane.setVisible(true);
contentPane.add(scrollPane);
}
table为每次查询数据库返回的结果集
我写了一个数据库程序,将查询到的结果(table)显示在一个JScrollPane中;查询到第二次以后table再次显示在JScrollPane时数据会与第一次查询返回的table重叠;采用了scrollPane.setVisible(true);contentPane.remove(scrollPane)后,在JScrollPane中数据重叠消失了,但JScrollPane却不会滚动了。请问怎么解决。
附代码:public void opentable()
{
frame = SWT_AWT.new_Frame(composite);
panel = new Panel(new BorderLayout())
{
private static final long serialVersionUID = -4473097649948915740L; public void update(Graphics g)
{
paint(g);
}
};
panel.removeAll();
frame.add(panel);
frame.setVisible(true);
root = new JRootPane();
panel.add(root);
contentPane = root.getContentPane();
table = new JTable(rows, columnHeads);
table.setAutoResizeMode(0);
scrollPane = new JScrollPane(table);
scrollPane.setRowHeaderView(new RowHeaderTable(table, 40));
scrollPane.setVisible(true);
contentPane.add(scrollPane);
}
table为每次查询数据库返回的结果集
解决方案 »
- java编写的俄罗斯方块用Timer来执行“开始”,可是用Timer怎么来执行暂停和结束呢
- 什么是JAVA工作流引擎?
- 菜鸟求助:关于objectoutputstream
- 高分,简单题,呵呵。请给出理由。
- 请问java中有没有播放flash的控件之类的啊!~ 我想在JFame中播放flash动画!~ 请问怎么搞?
- 如何改变JOptionPane类创建的简单对话框的字体?有没有方法?
- 请问java的GUI界面如何实现缩放窗口时组件不跟着变形,100分发上兑现
- 谁有连接远程mysql的例子?看下列代码错在何处?
- 通过JNI在C++中怎样处理一个jchararray.......
- 请教个简单的问题。谢谢
- linux下调用jdic使用firefox浏览器查看网页,但是总是显示空白
- 把读出来的每行字符串都放到buf中,为什么报空指针错啊?
没有用DefaultTableModel。
if(lastQuery)//如果查询成功清除表格
{
((DefaultTableModel)maintable.getModel()).getDataVector().clear();
((DefaultTableModel)maintable.getModel()).fireTableDataChanged();
maintable.repaint();
}
。
。
。
//查询后的数据放入jtable,再放入JScrollpane
maintable = new JTable(rows, columnHeads);
System.out.println(columnHeads+"\n");
maintable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
scrollPane = new JScrollPane(maintable);
scrollPane.setRowHeaderView(new RowHeaderTable(maintable, 40));
contentPane.add(scrollPane);