Java 无法从我的下拉列表中收费
我的下拉列表表明我的表单中有几个不正确的元素。。。 我有一个错误消息。 “在presentation.JDAlbuInsert.fillComponents(JDAlbuInsert.java:146)”中 这是一句话:Java 无法从我的下拉列表中收费,java,swing,Java,Swing,我的下拉列表表明我的表单中有几个不正确的元素。。。 我有一个错误消息。 “在presentation.JDAlbuInsert.fillComponents(JDAlbuInsert.java:146)”中 这是一句话: private void fillComponents() { ArrayList <Chanteur> cha = daoCha.selectChanteurs(); for (int i=0;i<cha.size(
private void fillComponents()
{
ArrayList <Chanteur> cha = daoCha.selectChanteurs();
for (int i=0;i<cha.size();i++)
jComboCha.addItem(cha.get(i));
}
private void fillComponents()
{
ArrayList cha=daoCha.selectChanters();
对于(int i=0;i给定为澄清而提供的图像,我可以看到comboBox正试图为您的对象Chanteur
提供字符串表示
这是因为你有
for (int i=0;i<cha.size();i++)
jComboCha.addItem(cha.get(i));
它应该会起作用
注意:如果像这样迭代一个ArrayList,使用for:each循环可能更可取,也可能更简单
你能不能发布发生的完整stacktrace,而不仅仅是消息?@HamishD;我已经编辑了我的消息。我已经根据你的图像添加了一个答案,如果它给出了所需的信息,请告诉我result@julliiie你想发生什么?我需要澄清@HamishD;我没有错误信息,但是我的下拉列表不收费,因为图片公关很明显,@julliie所以这个图像是你想要的,但是现在你在组合框中什么都没有?@HamishD:组合框只显示@julliie,你想让组合框显示什么?
public class JDAlbuInsert extends javax.swing.JDialog {
/** Creates new form JDApparInsert */
public JDAlbuInsert(java.awt.Frame parent, String titre) {
super(parent, titre, true);
initComponents();
fillComponents();
getRootPane().setDefaultButton(jButtonOK);
setLocation(parent.getX()+parent.getWidth()/3, parent.getY()+parent.getHeight()/3);
setVisible(true);
}
/** 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.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jTextIdent = new javax.swing.JTextField();
jTextTitre = new javax.swing.JTextField();
jComboCha = new javax.swing.JComboBox();
jDateChooserDate = new com.toedter.calendar.JDateChooser();
jPanel2 = new javax.swing.JPanel();
jButtonOK = new javax.swing.JButton();
jButtonAnnul = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jLabel1.setText("Ident");
jLabel2.setText("Description");
jLabel3.setText("Date");
jLabel4.setText("Nom");
jDateChooserDate.setDateFormatString("dd-MM-yyyy");
org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
.add(jLabel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(jLabel1)
.add(jLabel3)
.add(jLabel4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.add(11, 11, 11)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
.add(jComboCha, 0, 200, Short.MAX_VALUE)
.add(jTextIdent, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 60, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jTextTitre, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)
.add(jDateChooserDate, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(126, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel1)
.add(jTextIdent, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel2)
.add(jTextTitre, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jLabel3)
.add(jDateChooserDate, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel4)
.add(jComboCha, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(185, 185, 185))
);
getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
jButtonOK.setText("OK");
jButtonOK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonOKActionPerformed(evt);
}
});
jPanel2.add(jButtonOK);
jButtonAnnul.setText("Annuler");
jButtonAnnul.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonAnnulActionPerformed(evt);
}
});
jPanel2.add(jButtonAnnul);
getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH);
pack();
}// </editor-fold>
private void jButtonAnnulActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.dispose();
}
private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Album alb = new Album();
alb.setCodeA(jTextIdent.getText().toUpperCase()); //setIdentApp
alb.setTitreA(jTextTitre.getText());
alb.setSortieA(jDateChooserDate.getDate());
alb.setCatApp((Chanteur)jComboCha.getSelectedItem());
boolean ok = daoAlb.insertAlbum(alb);
if (!ok)
JOptionPane.showMessageDialog(null,"Insertion impossible !","Avertissement",JOptionPane.ERROR_MESSAGE);
this.dispose();
}
private void fillComponents()
{
/* charger toutes les chanteurs */
ArrayList <Chanteur> cha = daoCha.selectChanteurs();
for (int i=0;i<cha.size();i++)
jComboCha.addItem(cha.get(i));
}
// Variables declaration - do not modify
private javax.swing.JButton jButtonAnnul;
private javax.swing.JButton jButtonOK;
private javax.swing.JComboBox jComboCha;
private com.toedter.calendar.JDateChooser jDateChooserDate;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JTextField jTextIdent;
private javax.swing.JTextField jTextTitre;
// End of variables declaration
private DAOAlbums daoAlb = Factory.getDAOAlbums();
private DAOChanteurs daoCha = Factory.getDAOChanteurs();
}
for (int i=0;i<cha.size();i++)
jComboCha.addItem(cha.get(i));
for (int i=0;i<cha.size();i++)
jComboCha.addItem(cha.get(i).toString());