How To Populate Jtable In Java Using Netbeans – Display Data From User Input
How To Populate Jtable In Java Using Netbeans – Display Data From User Input Video Tutorial.
How To Populate Jtable In Java Using Netbeans – Display Data From User Input

What’s Covered in this Guide :
- Creating Jframe form
- Adding Buttons to jframe
- Adding textbox to jframe
- Adding table to jframe
- Adding checkbox to jframe
- Adding radio button to jframe
- Adding combobox to jframe
- Inserting data in jtable
- Displaying data in jtable
- Getting data from user
- Populating Jtable
Source Code :
/* * How To Populate Jtable In Java Using Netbeans - Display Data From User Input */ package AddDataToJTable; import java.util.Vector; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; /** * * @author Genuine */ public class AddDataToJTable extends javax.swing.JFrame { /** * Creates new form AddDataToJTable */ public AddDataToJTable() { initComponents(); tableData(); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jRadioButton1 = new javax.swing.JRadioButton(); buttonGroup1 = new javax.swing.ButtonGroup(); buttonGroup2 = new javax.swing.ButtonGroup(); jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jButtonAddDataToJTable = new javax.swing.JButton(); jTextFieldName = new javax.swing.JTextField(); jRadioButtonMale = new javax.swing.JRadioButton(); jRadioButtonFemale = new javax.swing.JRadioButton(); jCheckBoxJava = new javax.swing.JCheckBox(); jCheckBoxCSharp = new javax.swing.JCheckBox(); jComboBoxSubjects = new javax.swing.JComboBox(); jLabel1 = new javax.swing.JLabel(); jRadioButton1.setText("jRadioButton1"); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setPreferredSize(new java.awt.Dimension(400, 400)); jTable1.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { }, new String [] { } )); jScrollPane1.setViewportView(jTable1); jButtonAddDataToJTable.setText("ADD"); jButtonAddDataToJTable.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonAddDataToJTableActionPerformed(evt); } }); buttonGroup1.add(jRadioButtonMale); jRadioButtonMale.setText("Male"); buttonGroup1.add(jRadioButtonFemale); jRadioButtonFemale.setText("Female"); buttonGroup2.add(jCheckBoxJava); jCheckBoxJava.setText("Java"); buttonGroup2.add(jCheckBoxCSharp); jCheckBoxCSharp.setText("C#"); jComboBoxSubjects.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Computer Science", "Information Technology", "Business Information Techbology" })); jComboBoxSubjects.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jComboBoxSubjectsActionPerformed(evt); } }); jLabel1.setText("Name"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() .addGap(272, 272, 272) .addComponent(jButtonAddDataToJTable, javax.swing.GroupLayout.DEFAULT_SIZE, 144, Short.MAX_VALUE)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jTextFieldName, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabel1)) .addGroup(layout.createSequentialGroup() .addComponent(jCheckBoxJava) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jCheckBoxCSharp)) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(jComboBoxSubjects, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() .addComponent(jRadioButtonMale) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jRadioButtonFemale)))) .addGap(0, 0, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jTextFieldName, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jRadioButtonMale) .addComponent(jRadioButtonFemale)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jCheckBoxJava) .addComponent(jCheckBoxCSharp)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jComboBoxSubjects, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 10, Short.MAX_VALUE) .addComponent(jButtonAddDataToJTable, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 123, javax.swing.GroupLayout.PREFERRED_SIZE)) ); pack(); setLocationRelativeTo(null); }// </editor-fold> //Declaeing all variables DefaultTableModel model; String name = ""; String gender = ""; String programmingLanguages = ""; String Subjects = ""; //Function to add table headers. The function is called in the constructor. The header are populated instantly when the application runs public void tableData() { //Populating table headers model = (DefaultTableModel) jTable1.getModel(); Object[] newIdentifiers = new Object[]{"Id", "Name", "Language", "Subject"}; model.setColumnIdentifiers(newIdentifiers); } private void jButtonAddDataToJTableActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: name = jTextFieldName.getText(); if (jRadioButtonMale.isSelected()) { gender = "Male"; } else if (jRadioButtonFemale.isSelected()) { gender = "Female"; } if (jCheckBoxJava.isSelected()) { programmingLanguages = "Java"; } else if (jCheckBoxCSharp.isSelected()) { programmingLanguages = "C#"; } Subjects = jComboBoxSubjects.getSelectedItem().toString(); // Check if one field is empty if (name.isEmpty() || gender.isEmpty() || programmingLanguages.isEmpty() || Subjects.isEmpty()) { JOptionPane.showMessageDialog(null, "One Or More Otpion Is not Filled. Make sure You Fill Or Select All The Fields"); } else { //Outputing entered data System.out.println(name + " " + gender + " " + programmingLanguages + " " + Subjects); //Adding data to jtable model.addRow(new Object[]{name, gender, programmingLanguages, Subjects}); JOptionPane.showMessageDialog(null, "Data Added"); } } private void jComboBoxSubjectsActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: } /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(AddDataToJTable.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(AddDataToJTable.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(AddDataToJTable.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(AddDataToJTable.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new AddDataToJTable().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.ButtonGroup buttonGroup1; private javax.swing.ButtonGroup buttonGroup2; private javax.swing.JButton jButtonAddDataToJTable; private javax.swing.JCheckBox jCheckBoxCSharp; private javax.swing.JCheckBox jCheckBoxJava; private javax.swing.JComboBox jComboBoxSubjects; private javax.swing.JLabel jLabel1; private javax.swing.JRadioButton jRadioButton1; private javax.swing.JRadioButton jRadioButtonFemale; private javax.swing.JRadioButton jRadioButtonMale; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable jTable1; private javax.swing.JTextField jTextFieldName; // End of variables declaration }