java数据从数据库到JTable
我想用数据库填充一个表,我在项目中有两个类,在第二个类中有createANDShowGUI方法,我想在top(Mozijegy)类中调用这个方法,我的方法在public Mozijegy()
中调用。我试图在public Mozijegy()中调用,但程序没有看到我的createANDShowGUI方法
package mozijegy;
public final class Mozijegy extends JFrame implements ActionListener {
public Mozijegy() {
conn = ConnectDB();
menu();
foglalas();
arlista();
szekfog();
comboitem();
}
public Connection ConnectDB()
public void comboitem()
public void menu()
class tablafeltoltes extends JPanel {
private boolean DEBUG = false;
static final String JDBC_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
static final String DB_URL = "jdbc:sqlserver://FARKAS-PC;databaseName=Mozi;integratedSecurity=true;";
Connection conn = null;
Statement stmt = null;
Vector<Vector<String>> data = new Vector<Vector<String>>();
public tablafeltoltes() {
super(new GridLayout(1, 0));
Vector<String> columnNames = new Vector<String>();
columnNames.add("Név");
columnNames.add("Mennyiség");
columnNames.add("Kiszerelés");
columnNames.add("Ár");
String query = "select Név, Mennyiség, Kiszerelés, Ár from Arlista";
try {
conn = DriverManager.getConnection(DB_URL);
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
Vector<String> vstring = new Vector<String>();
vstring.add(rs.getString("Név"));
vstring.add(rs.getString("Mennyiség"));
vstring.add(rs.getString("Kiszerelés"));
vstring.add(rs.getString("Ár"));
vstring.add("\n\n\n\n\n\n\n");
data.add(vstring);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException ex) {
}
}
}
DefaultTableModel model = new DefaultTableModel(data, columnNames);
final JTable table = new JTable(model);
table.setPreferredScrollableViewportSize(new Dimension(500, 70));
table.setFillsViewportHeight(true);
JScrollPane scrollPane = new JScrollPane(table);
add(scrollPane);
}
private void printDebugData(JTable table) {
int numRows = table.getRowCount();
int numCols = table.getColumnCount();
javax.swing.table.TableModel model = table.getModel();
System.out.println("Value of data: ");
for (int i = 0; i < numRows; i++) {
System.out.print(" row " + i + ":");
for (int j = 0; j < numCols; j++) {
System.out.print(" " + model.getValueAt(i, j));
}
System.out.println();
}
System.out.println("--------------------------");
}
public void createAndShowGUI() {
JFrame frame = new JFrame("Database Data");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tablafeltoltes newContentPane = new tablafeltoltes();
newContentPane.setOpaque(true);
frame.setContentPane(newContentPane);
frame.pack();
frame.setVisible(true);
}
public void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
public static void main(String[] args) {
Mozijegy /*mozijegy*/ = new Mozijegy();
}
}
共 (0) 个答案