Witam,
mam następujący problem chce żeby w programie była możliwość pobrania danych z kilku comboboxów do komórek jTable po naciśnięciu przycisku. Użytkownik po wybraniu odpowiednich możliwości w combobox i naciśnięciu przycisku dodaj sprawi, że dane zostaną przeniesione do tabeli. I chciałbym dane zostały zapisane w tabeli. Gdzie popełniłem błąd?
Z góry dziękuje za odpowiedź
package biblioteka;
public class biblioteka extends javax.swing.JFrame {
DefaultTableModel model;
public biblioteka() {
initComponents();
model=(DefaultTableModel)tImie.getModel();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jDialog1 = new javax.swing.JDialog();
bAdd = new javax.swing.JButton();
tImie = new javax.swing.JComboBox();
tFrez = new javax.swing.JComboBox();
tOstrze = new javax.swing.JComboBox();
tEfektywna = new javax.swing.JComboBox();
tCalkowita = new javax.swing.JComboBox();
tMaterial = new javax.swing.JComboBox();
label1 = new java.awt.Label();
label3 = new java.awt.Label();
label4 = new java.awt.Label();
label5 = new java.awt.Label();
label6 = new java.awt.Label();
label7 = new java.awt.Label();
jScrollPane2 = new javax.swing.JScrollPane();
tblNarzedzia = new javax.swing.JTable();
label2 = new java.awt.Label();
tData = new java.awt.TextField();
bEdit = new javax.swing.JButton();
bDelete = new javax.swing.JButton();
javax.swing.GroupLayout jDialog1Layout = new javax.swing.GroupLayout(jDialog1.getContentPane());
jDialog1.getContentPane().setLayout(jDialog1Layout);
jDialog1Layout.setHorizontalGroup(
jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
jDialog1Layout.setVerticalGroup(
jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
bAdd.setLabel("Dodaj");
bAdd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bAddActionPerformed(evt);
}
});
tImie.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Marek", "Adam", "Patryk", "Łukasz", "Artur" }));
tImie.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tImieActionPerformed(evt);
}
});
tFrez.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "FR0,5", "FR0,6", "FR1", "FR2", "FR3", "FR4", "FR6", "FR8", "FR10", "FR0,4K", "FR0,6K", "FR1K", "FR2K", "FR3K", "FR4K", "FR6K", "FR8K", "FR2R0,05", "FR2R0,1", "FR2R0,2", "FR4R0,2", "FR6R0,2", "FR6R1", "FR8R0,2", "FR10R0,3", "FR10R0,5", "FR10R1", "FR12R0,3", "W0,81", "W1", "W1,1", "W1,3", "W1,5", "W3", "W3,3", "W4,2", "W5" }));
tFrez.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tFrezActionPerformed(evt);
}
});
tOstrze.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0,5", "1", "1,5", "2", "3", "3,3", "4", "4,5", "5", "6", "8", "10", "12", "13", "14", "15", "16", "17", "18", "19", "20", "30", "35", "36", "38" }));
tEfektywna.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "20", "22", "23", "25", "26", "27", "28", "30", "35", "36", "40", "44", "45", " " }));
tCalkowita.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "40", "45", "50", "55", "57", "58", "60", "62", "63", "64", "65", "70", "72", "75", "80", "83", "85", "90", "100" }));
tMaterial.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Grafit", "Miedź", "Do 52HRC", "Do 60HRC", "Wszystkie" }));
label1.setBackground(new java.awt.Color(255, 255, 102));
label1.setText("Imię");
label3.setBackground(new java.awt.Color(255, 255, 102));
label3.setText("Rodzaj Freza");
label4.setBackground(new java.awt.Color(255, 255, 102));
label4.setText("Długośc ostrza");
label5.setBackground(new java.awt.Color(255, 255, 102));
label5.setText("Długośc efektywna");
label6.setBackground(new java.awt.Color(255, 255, 102));
label6.setText("Długość całkowita");
label7.setBackground(new java.awt.Color(255, 255, 102));
label7.setText("Materiał obrabiany");
tblNarzedzia.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null, null},
{null, null, null, null, null, null, null},
{null, null, null, null, null, null, null},
{null, null, null, null, null, null, null},
},
new String [] {
"Imię", "Rodzaj Freza", "Długość ostrza", "Długość efektywna", "Długość całkowita", "Materiał obrabiany", "Data pobrania"
}
));
tblNarzedzia.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tblNarzedziaMouseClicked(evt);
}
});
jScrollPane2.setViewportView(tblNarzedzia);
label2.setBackground(new java.awt.Color(255, 255, 102));
label2.setName(""); // NOI18N
label2.setText("Data pobrania");
tData.setText("textField1");
bEdit.setText("Edytuj");
bEdit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bEditActionPerformed(evt);
}
});
bDelete.setText("Usuń");
bDelete.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bDeleteActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2)
.addGroup(layout.createSequentialGroup()
.addComponent(bAdd)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bEdit)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bDelete)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(tImie, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(label3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tFrez, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(label4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tOstrze, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(label5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tEfektywna, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(label6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tCalkowita, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(tMaterial, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tData, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addComponent(label7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(label2, javax.swing.GroupLayout.DEFAULT_SIZE, 96, Short.MAX_VALUE)))))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(bAdd)
.addComponent(bEdit)
.addComponent(bDelete))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tImie, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tFrez, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tOstrze, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tEfektywna, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tCalkowita, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tMaterial, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 520, Short.MAX_VALUE)
.addGap(18, 18, 18))
.addGroup(layout.createSequentialGroup()
.addComponent(tData, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
);
pack();
}// </editor-fold>
private void tImieActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void tFrezActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void bAddActionPerformed(java.awt.event.ActionEvent evt) {
model.insertRAW(model.getRowCount(), new Object[]{tImie.getUI(), tFrez.getUI(), tOstrze.getUI(), tEfektywna.getUI(), tCalkowita.getUI(), tMaterial.getUI()});
}
private void bEditActionPerformed(java.awt.event.ActionEvent evt) {
model.setValueAt(tImie.setModel(), tblNarzedzia.getSelectedRow(),0);
model.setValueAt(tFrez.setModel(), tblNarzedzia.getSelectedRow(),1);
model.setValueAt(tOstrze.setModel(), tblNarzedzia.getSelectedRow(),2);
model.setValueAt(tEfektywna.setModel(), tblNarzedzia.getSelectedRow(),3);
model.setValueAt(tCalkowita.setModel(), tblNarzedzia.getSelectedRow(),4);
model.setValueAt(tMaterial.setModel(), tblNarzedzia.getSelectedRow(),5);
model.setValueAt(tData.getText(), tblNarzedzia.getSelectedRow(),6);
}
private void tblNarzedziaMouseClicked(java.awt.event.MouseEvent evt) {
tImie.setModel(String.valueOf(model.getValueAt(tblNarzedzia.getSelectedRow(),0)));
tFrez.setModel(String.valueOf(model.getValueAt(tblNarzedzia.getSelectedRow(),1)));
tOstrze.setModel(String.valueOf(model.getValueAt(tblNarzedzia.getSelectedRow(),2)));
tEfektywna.setModel(String.valueOf(model.getValueAt(tblNarzedzia.getSelectedRow(),3)));
tCalkowita.setModel(String.valueOf(model.getValueAt(tblNarzedzia.getSelectedRow(),4)));
tMaterial.setModel(String.valueOf(model.getValueAt(tblNarzedzia.getSelectedRow(),5)));
tData.setText(String.valueOf(model.getValueAt(tblNarzedzia.getSelectedRow(),6)));
}
private void bDeleteActionPerformed(java.awt.event.ActionEvent evt) {
model.removeROW(tblNarzedzia.getSelectedRow());
}
/**
* @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(biblioteka.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(biblioteka.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(biblioteka.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(biblioteka.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 biblioteka().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton bAdd;
private javax.swing.JButton bDelete;
private javax.swing.JButton bEdit;
private javax.swing.JDialog jDialog1;
private javax.swing.JScrollPane jScrollPane2;
private java.awt.Label label1;
private java.awt.Label label2;
private java.awt.Label label3;
private java.awt.Label label4;
private java.awt.Label label5;
private java.awt.Label label6;
private java.awt.Label label7;
private javax.swing.JComboBox tCalkowita;
private java.awt.TextField tData;
private javax.swing.JComboBox tEfektywna;
private javax.swing.JComboBox tFrez;
private javax.swing.JComboBox tImie;
private javax.swing.JComboBox tMaterial;
private javax.swing.JComboBox tOstrze;
private javax.swing.JTable tblNarzedzia;
// End of variables declaration
}
- 1.JPG (83 KB) - ściągnięć: 253
<code=java></code>