使用JLabel显示MySQL的信息

时间:2017-01-10 20:05:18

标签: java mysql jframe jlabel

我试图在MySQL表中使用JFrame显示JLabel中的文字,我可以获取需要显示的信息,但我无法提供该信息在JLabels

这是我的代码:

public void actionPerformed(ActionEvent e) {

            find = new Find(txtFldTitulo.getText());

            author = find.getAuthorLast()+find.getAuthorFirst();

            lblResYearRev.setText(find.getYear);
            lblResYearRev.setText(author);
            lblResIsbnRev.setText(find.getIsbn());
            lblResStatus.setText(find.getStatus());

        }

我试图用来设置MySQL查询得到的值的代码是:

public Find(String title) {

...

     while (resultSet.next()) {

            for (int i=1;i<=numberOfColumns;i++){

                switch (i) {
                case 1:
                    setAuthorLast(resultSet.getObject( i ).toString());
                    break;
                case 2:
                    setAutorFirst(resultSet.getObject( i ).toString());
                    break;
                case 3:
                    setYear(resultSet.getObject( i ).toString());
                    break;
                case 4:
                    setIsbn(resultSet.getObject( i ).toString());
                    break;
                case 5:
                    setStatus(resultSet.getObject( i ).toString());
                    break;
                }

            }
        }

但我没有在JFrame获得任何价值,我不知道为什么。

1 个答案:

答案 0 :(得分:0)

首先,您的方法ActionEvent需要String,当您调用方法时,您需要设置public Find(ActionEvent e) { find = new Find(txtFldTitulo.getText());

txtFldTitulo.getText()

所以String返回ActionEvent而不是Find

您应该先调试程序。

我认为您的JLabel方法存在问题,因为如果您询问如何设置let myArray = ["John", "Timothy", "James", "Tanmay"] for i in myArray { print(i) // "John", "Timothy" ... } 的信息,那么您已经这样做了。