JTable 和 JScrollPane 的问题

penpen926 2009-04-29 11:07:04
我的程序将JTable 放在一个JScrollPane中,另外用了一个JButton和一个JTextField实现了对JTable中内容的查找
即,点击JButton触发事件,查找JTable中的内容是否符合JTextField中的内容的行,若有,则选定该行。

现在的问题是,点击JButton后查找选定都没有问题,只是JScrollPane不能滚动到相应的位置上去,因为有的行是在首页看不到的,需要滚动条滚动才能看到

如何用代码实现滚动条滚动??各位大虾请赐教。
...全文
83 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
penpen926 2009-04-29
  • 打赏
  • 举报
回复
因为我做的是一个类似于小词典的程序
那个JTable其实是所有单词的列表
我单独设计了一个方法来实现JTable的显示
private void ViewWords()
{

String[] ColumnHeader = {"英文","中文","解释"};
try{
WordsListArray = parseWordsList();
}catch(IOException e){System.out.println(e.getMessage());
return;
}
try{
DefaultTableModel model = new DefaultTableModel(WordsListArray,ColumnHeader){
public boolean isCellEditable(int row, int column) {
return false;}
};
WordsListTable = new JTable(model);
}catch(IllegalArgumentException e){JOptionPane.showMessageDialog(this,"Table formation error","Eroor",JOptionPane.ERROR_MESSAGE);}

//在这里实现的是ScrollPane里添加JTable
WordsListScrollPane.add(WordsListTable);
WordsListScrollPane.setViewportView(WordsListTable);

//给列表添加事件倾听者,倾听者执行方法
WordsListTable.addMouseListener(new java.awt.event.MouseAdapter()
{
@Override
public void mouseClicked(java.awt.event.MouseEvent evt) {
WordsListTableMouseClicked(evt);
}
});
}
vicvin 2009-04-29
  • 打赏
  • 举报
回复
JScrollPane的使用是这样的

JLabel picture = new JLabel();
picture.setFont(picture.getFont().deriveFont(Font.ITALIC));
picture.setHorizontalAlignment(JLabel.CENTER);
JScrollPane pictureScrollPane = new JScrollPane(picture);

就是把你要添加的控件在实例化JScrollPane的时候用参数传过去。
如果你知道是这样用的,但是却不能实现相应的效果,你就把程序贴出来看看。
zhaodalong 2009-04-29
  • 打赏
  • 举报
回复
我也不太懂这个问题!这个可以到GUI板块去问!
友情 up !

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧