我的程序将JTable 放在一个JScrollPane中,另外用了一个JButton和一个JTextField实现了对JTable中内容的查找
即,点击JButton触发事件,查找JTable中的内容是否符合JTextField中的内容的行,若有,则选定该行。现在的问题是,点击JButton后查找选定都没有问题,只是JScrollPane不能滚动到相应的位置上去,因为有的行是在首页看不到的,需要滚动条滚动才能看到如何用代码实现滚动条滚动??各位大虾请赐教。
即,点击JButton触发事件,查找JTable中的内容是否符合JTextField中的内容的行,若有,则选定该行。现在的问题是,点击JButton后查找选定都没有问题,只是JScrollPane不能滚动到相应的位置上去,因为有的行是在首页看不到的,需要滚动条滚动才能看到如何用代码实现滚动条滚动??各位大虾请赐教。
友情 up !
picture.setFont(picture.getFont().deriveFont(Font.ITALIC));
picture.setHorizontalAlignment(JLabel.CENTER);
JScrollPane pictureScrollPane = new JScrollPane(picture);就是把你要添加的控件在实例化JScrollPane的时候用参数传过去。
如果你知道是这样用的,但是却不能实现相应的效果,你就把程序贴出来看看。
那个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);
}
});
}