Ho questo problema ho creato una pagina in nella quale selezionando la categoria mi escono i vari prodotti in una tabella prelevandoli dal database ora nell'ultima cella di questa tabella devo inserire la jcombobox per sapere la quantità di articoli io ho utilizzato questo codice ma non esce nulla:
//codice per jcombobox
TableColumn QuantitàColumn = table.getColumnModel().getColumn(6);
int k;
for( k=1; k<=(int) table.getValueAt(table.getSelectedRow(), 5) ;k++){
nOrd.addItem(new Integer(k));
}
QuantitàColumn.setCellEditor(new DefaultCellEditor(nOrd));
come devo fare ?
//codice pagina
package it.view;
import it.DBConnection.DbConnection;
import it.view.logIn;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Iterator;
import java.util.Vector;
import javax.swing.*;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;
public class dipendente extends JFrame{
private DefaultTableModel defTableModel;
private JTable table;
public dipendente(){
super("Dipendente"); //titolo pagina
setSize(1800,1000); //grandezza pagina
setLocation(50,15);
setLayout(null);
//immagini bottoni
ImageIcon imgc=new ImageIcon("car.gif");
ImageIcon logO=new ImageIcon("logout.gif");
ImageIcon cerc=new ImageIcon("cerca.gif");
//creo tipo di font
Font f=new Font("times new roman",Font.PLAIN,25);
//creo contenitore
Container c =getContentPane();
//creo i label
JLabel Ben=new JLabel("Benvenuto "+logIn.U.getText()+" !");
JLabel Cat=new JLabel("Categoria");
final JLabel a=new JLabel("Vuoto");
//creo i button
JButton Esci=new JButton(logO);
JButton car=new JButton(imgc);
JButton cerca=new JButton(cerc);
//creo menu tendina
final JComboBox Cate = new JComboBox();
final JComboBox nOrd = new JComboBox();
//query al dataBase per le categorie
String sql="Select DISTINCT Nome from Categoria;";
Vector<String[]>result=DbConnection.getInstance().eseguiQuery(sql);
Iterator<String[]>i=result.iterator();
//creo modello tabella e rendo righe non selezionabili
defTableModel = new DefaultTableModel();
table = new JTable(defTableModel){
public boolean isCellEditable(int row, int column) {
return false;
}
};
//scorre nell'array
while(i.hasNext()){
String[] riga = i.next();
Cate.addItem(riga[0]);
}
cerca.addActionListener(new ActionListener(){
DefaultTableModel model = (DefaultTableModel) table.getModel();
public void actionPerformed(ActionEvent e){
String s=Cate.getSelectedItem().toString();
String sql="Select IdCategoria from Categoria where Nome='"+s+"';";
Vector<String[]>result=DbConnection.getInstance().eseguiQuery(sql);
Iterator<String[]>i=result.iterator();
while(i.hasNext()){
Object[]riga=i.next();
String sql1="Select * from Articolo where CodCat='"+riga[0]+"';";
Vector<String[]>result1=DbConnection.getInstance().eseguiQuery(sql1);
Iterator<String[]>j=result1.iterator();
while(j.hasNext()){
Object[]riga1=j.next();
Object[][] data = result1.toArray(new Object[0][]);
defTableModel.setDataVector(data, new Object[] {"IdArticolo","Nome","Descrizione","Costo","Disponibilita'","NMaxOrd","Quantità"});
}
}
}//chiude l'action performed
}); //chiude actionlistener
JScrollPane pane=new JScrollPane(table);
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent me) {
String col1 = (String) table.getValueAt(table.getSelectedRow(), 0);
String col2 = (String) table.getValueAt(table.getSelectedRow(), 1);
String col3 = (String) table.getValueAt(table.getSelectedRow(), 2);
Double col4 = (Double) table.getValueAt(table.getSelectedRow(), 3);
int col5 = (int) table.getValueAt(table.getSelectedRow(), 4);
int col6 = (int) table.getValueAt(table.getSelectedRow(), 5);
// int col7 = (int) table.getValueAt(table.getSelectedRow(), 6, nOrd);
TableColumn QuantitàColumn = table.getColumnModel().getColumn(6);
int k;
for( k=1; k<=(int) table.getValueAt(table.getSelectedRow(), 5) ;k++){
nOrd.addItem(new Integer(k));
}
QuantitàColumn.setCellEditor(new DefaultCellEditor(nOrd));
if((col1.length() != 0) && (col2.length() != 0)) System.out.println("Contenuto riga selezionata: "+col1+" "+col2+" "+col3+" "+col4+" "+col5+" "+col6+" ");
/* String sql3=";";
DbConnection.getInstance().eseguiQuery(sql3);*/
}
});
//imposto font
Ben.setFont(f);
Cat.setFont(f);
Esci.setFont(f);
car.setFont(f);
Cate.setFont(f);
pane.setFont(f);
Ben.setBounds(1350,10,200,50);
Esci.setBounds(1575,10,50,50);
car.setBounds(1650,10,50,50);
Cate.setBounds(800,100,Cate.getPreferredSize().width,50);
cerca.setBounds(1000, 100, 100, 50);
pane.setBounds(200,300,1500,pane.getPreferredSize().height);
c.add(Ben);
c.add(Esci);
c.add(car);
c.add(Cate);
c.add(cerca);
c.add(pane);
c.add(nOrd);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}