...sono daccordo, non ho dato una spiegazione completa.
Le jtextfield le genero "dinamicamente" (in modo tale che se aggiungo colonne alla tabella, automaticamente creo la corrispondente jtextfield) popolandole coi valori della tabella.
Non so come differenziare le varie jtextfield.codice:ResultSet rs= statement.executeQuery("select * from COL where tname='Tabella' and COLNO between 1 and '"+max+"'"+"order by COLNO"); int i=0; while(rs.next()){ colonna[i] = rs.getString(3);//nome colonna tipo_colonna[i] = rs.getString(4);//tipo della colonna if{tipo_colonna[i].equals("VARCHAR2")) panel[i] = new JPanel(); y_panelSub = y_panelSub+60; panel[i].setLayout(null); panel[i].setBounds(0,y_panelSub,400,60); jl = new JLabel(colonna[i]); jl.setFont(new Font("Verdana",Font.PLAIN,12)); jtf = new JTextField(100); jtf.setText(campi_tb[i]);//campi_tb[] array contenente le colonne della tabella if (colonna[i].equals("CAMPO1")){ campo1 = jtf.getText() } jtf.setFont(new Font("Verdana",Font.BOLD,10)); jl.setBounds(10,20,180,30); jtf.setBounds(210,30,160,20); panel[i].add(jl); panel[i].add(jtf); } else if (tipo_colonna[i].equals("NUMBER")){ panel[i] = new JPanel(); y_panelSub = y_panelSub+70; panel[i].setLayout(null); panel[i].setBounds(0,y_panelSub,400,60); jl = new JLabel(colonna[i]); jl.setFont(new Font("Verdana",Font.PLAIN,12)); jtf = new JTextField(22); jtf.setText(campi_tb[i]); if (colonna[i].equals("CAMPO2")){ campo2 = jtf.getText(); } jtf.setFont(new Font("Verdana",Font.BOLD,10)); jl.setBounds(10,20,180,20); tf.setBounds(210,20,170,20); panel[i].add(jl); panel[i].add(jtf); i++; }
Nel metodo modifica,infatti, se faccio System.out.println("campo1: "+jtf.getText()); restituisce la stringa vuota, perchè non capisce a quale jtf faccio riferimento.

Rispondi quotando