Java Problema con JComboBox

di il
3 risposte

Java Problema con JComboBox

Ho creato questo Codice che prende i valori di un Db in base in una scelta precedente e mi da la possibilità di scegliere la quantità di elementi tramite JComboBox. Il problema è che quando seleziono la quantità mi da sempre 1 come risultato e non mi prende il valore selezionato. Cosa devo Fare??




Codice:

package it.view;

import java.awt.*;
import java.util.Iterator;
import javax.swing.*;
import javax.swing.table.TableColumn;

import it.Dao.HomeDao;
import it.view.listeners.prodList;

@SuppressWarnings("serial")
public class Art extends JFrame {
public Art(String col1) {

JPanel DescrP= new JPanel(new GridLayout());
JPanel Bot=new JPanel(new FlowLayout(FlowLayout.CENTER));
Container c= getContentPane();
c.setLayout(new BorderLayout(10,5));

//imposto tabella e jbutton
JButton Aggiungi=new JButton("Aggiungi al carrello");
JButton Chiudi=new JButton("Chiudi");
String[] riga;
String[] Colonne1={"Nome","Prezzo","immagine","Sconto","Quantita"};

Object[][] data1=new Object[1][6];
final JTable Tab1 = new JTable(data1, Colonne1);
JScrollPane jSPane1 = new JScrollPane(Tab1);

//combobox per valore qta
TableColumn Table=Tab1.getColumnModel().getColumn(4);
JComboBox<Integer> qtaBox=new JComboBox<Integer>();
//Tab1.getColumnModel().getColumn(4).setCellEditor(qtaBox);
Table.setCellEditor(new DefaultCellEditor(qtaBox));
//avvaloro tabella
Iterator<String[]>i=HomeDao.getInstance().descrProd(col1);
while(i.hasNext()){
riga = i.next();

for(int k=1;k<=Integer.parseInt(riga[4]);k++){
qtaBox.addItem(k);

}


data1[0][4]=qtaBox;
for(int j=0;j<4;j++){

data1[0][j]=riga[j];
}


}
System.out.println(qtaBox.getSelectedItem());
Aggiungi.addActionListener(new prodList(this));
Chiudi.addActionListener(new prodList(this));

this.setLocation(500, 200);
setVisible(true);
setSize(400, 200);
Bot.add(Aggiungi);
Bot.add(Chiudi);
DescrP.add(jSPane1);
c.add(DescrP,BorderLayout.CENTER);
c.add(Bot, BorderLayout.SOUTH);



}
}

3 Risposte

  • Re: Java Problema con JComboBox

    Bri ha scritto:


    Il problema è che quando seleziono la quantità mi da sempre 1 come risultato e non mi prende il valore selezionato. Cosa devo Fare??
    Il codice non è completo (non si vede prodList) e non è particolarmente chiaro. Ma c'è una cosa che mi risulta molto "dubbia":

    data1[0][4]=qtaBox;

    Quindi stai mettendo un JComboBox nell'array dei dati?? No! Nell'array dei dati ci vanno ... DATI. Non componenti grafici.
  • Re: Java Problema con JComboBox

    ProdList ancora la devo implementare c'è solo un semplice messaggio per verificare i bottoni qindi come devo modificare?
  • Re: Java Problema con JComboBox

    Bri ha scritto:


    qindi come devo modificare?
    data1[x][4] (per qualunque riga valida x) dovrà contenere solo dei Integer.

    Il editor impostato alla colonna 4 è un DefaultCellEditor con un JComboBox di Integer. Quindi se un valore in data1[x][4] è tra quelli nel JComboBox, lo vedrai selezionato in fase di edit. E al contrario quando scegli un Integer dalla combo, verrà settato automaticamente in data1[x][4] .
Devi accedere o registrarti per scrivere nel forum
3 risposte