有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在jTable上显示结果?

我想知道如何将结果显示在jTable或txtfields上

private void sokaElevBetygActionPerformed(java.awt.event.ActionEvent evt) {                                              
     String elPP = tfAngivetId.getText();

     if (forms.Validering.textNotEmpty(tfAngivetId)){
         try {
             hogdb.fetchRows("select elev.FORNAMN, elev.EFTERNAMN, har_betyg_i.KURSBETYG FROM ELEV, HAR_BETYG_I WHERE ELEV.ELEV_ID = " + elPP);
             JOptionPane.showMessageDialog(rootPane, "data exist");
         }
         catch(InfException ex) {  
             System.out.println(ex.getMessage());
         }
    }
}

共 (1) 个答案

  1. # 1 楼答案

    在本例中,我试图向您展示如何填充JTable 从数据库(带有连接示例)

    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Font;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    import javax.swing.JFrame;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableModel;
    
    public class JTableTest extends JFrame{
    
        private DefaultTableModel model;
        private JTable table;
        private final String[] colname;
    
        public JTableTest() {
    
            colname = new String[] { "NAME ", "EMAIL  " };  //table headers
            model = new DefaultTableModel(colname, 0);      //table model
            populateMyModel(model); //the following populating method
            table = new JTable(model);
            table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
            table.setFont(new Font("Monospaced", Font.PLAIN, 13));
            table.setBackground(new Color(245, 245, 245));
            table.setRowHeight(25);
            table.setMinimumSize(new Dimension(60, 20));
    
        }
    
        public void populateMyModel(DefaultTableModel model) {
            final String host = "com.mysql.jdbc.Driver";
            final String url = "localhost://database_name/table_name";
            final String user = "user_name";
            final String psw = "password";
            final Connection conn;
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            String Name = "";
            String mail = "";
    
            try {
                Class.forName(host);
                conn = DriverManager.getConnection(url, user, psw);
                String SQL = "BLAH BLAH";
                preparedStatement = conn.prepareStatement(SQL);
                resultSet = preparedStatement.executeQuery();
    
                while (resultSet.next()) {
    
                    Name = resultSet.getString("NAME");
                    mail = resultSet.getString("EMAIL");
    
                }
    
                // here we populating the table model from database.
                this.model.addRow(new Object[] {Name, mail}); 
    
            } catch (SQLException e) {
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
        }
    }
    

    我尽我所能去展示,我希望这对你有所帮助