无法在JFrame中获得完整的mariadb输出

时间:2019-06-12 16:32:47

标签: java user-interface mariadb

我创建了一个基于MariaDB的购物清单。 我得到了一个完整运行的Java控制台输入/输出程序。 现在,我正在尝试构建GUI。此类“ WindowList”是我的构造函数,并在main.java中使用“ WindowList showlist = new WindowList();”实现。 如果我从MariaDB查询数据以通过JLabel或JTextArea在JFrame中将其打印出来,那么我只会得到列表的最后一点。

我是Java和程序设计的新手。预先感谢。

package shoppinglist;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.*;

public class WindowList {


//Driver für MariaDB
static final String JDBC_DRIVER = "org.mariadb.jdbc.Driver";
//url samt port von der MariaDB
static final String DB_URL = "xxx";
//Datenbankname
static final String DB_DB = "xxx";

//  Database credentials
static final String USER = "xxx";
static final String PASS = "xxx";

public WindowList() {

Connection conn = null;
Statement stmt = null;

JFrame listFrame = new JFrame();
listFrame.setSize(200,200);
listFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//JLabel derText = new JLabel();

JTextArea textfeld = new JTextArea(40, 40);

listFrame.getContentPane().add(textfeld);
listFrame.setVisible(true);


try {
    //Verbindung zu MariaDB funktioniert            
    conn = DriverManager.getConnection(DB_URL+DB_DB, USER, PASS);
    stmt = conn.createStatement();
    //Query muss hier genau so hinterlegt sein wie in der DB selbst
    String sql = "Select * from shoplist";
    ResultSet rs = stmt.executeQuery(sql);

    while (rs.next()) {

    textfeld.setText("- " + rs.getString("Item"));

    }
} catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
}
}

0 个答案:

没有答案