我的程序将JTable 放在一个JScrollPane中,另外用了一个JButton和一个JTextField实现了对JTable中内容的查找
即,点击JButton触发事件,查找JTable中的内容是否符合JTextField中的内容的行,若有,则选定该行。现在的问题是,点击JButton后查找选定都没有问题,只是JScrollPane不能滚动到相应的位置上去,因为有的行是在首页看不到的,需要滚动条滚动才能看到如何用代码实现滚动条滚动??各位大虾请赐教。

解决方案 »

  1.   

    我也不太懂这个问题!这个可以到GUI板块去问!
    友情 up !
      

  2.   

    JScrollPane的使用是这样的JLabel picture = new JLabel();
    picture.setFont(picture.getFont().deriveFont(Font.ITALIC));
    picture.setHorizontalAlignment(JLabel.CENTER);
    JScrollPane pictureScrollPane = new JScrollPane(picture);就是把你要添加的控件在实例化JScrollPane的时候用参数传过去。
    如果你知道是这样用的,但是却不能实现相应的效果,你就把程序贴出来看看。
      

  3.   

    因为我做的是一个类似于小词典的程序
    那个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);
                }
            });
        }