Я создал приложение, которое получит имя столбца базы данных и создаст jlabel и jtextfield во время выполнения на основе имен столбцов db.Получите значение из созданного JTextfield во время выполнения
Вот фрагмент кода: Im используя Netbeans здесь ...
public void getColumn(){
String sql = "SELECT * from user";
jPanel.setLayout(new GridLayout(0,2));
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
ArrayList<String> columns= new ArrayList<String>();
for(int i = 1; i<= columnCount; i++){
columns.add(rsmd.getColumnName(i));
System.out.println(String.valueOf(columns));
}
ArrayList<JTextField> fields = new ArrayList<JTextField>();
for(int i = 0; i <columns.size();i++){
JLabel jl = new JLabel(String.valueOf(columns.get(i)));
jPanel.add(jl);
JTextField f = new JTextField(50);
fields.add(f);
jPanel.add(f);
this.revalidate();
this.repaint();
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
Это будет пример вывода.
id | ______________
fName | _____________
mName | _______________
lName | ________________
линия, относящаяся к JTextFields ..
Однако, я не могу получить значение, введенное в JTextFields. Я пробовал использовать код ниже. Но не повезло. Любая помощь оценивается.
for(JTextField field : fields){
JOptionPane.showMessageDialog(null, field.getText());
}
Похоже, вы затеняете свои переменные, но без дальнейшего кода невозможно знать – MadProgrammer
Я использую netbeans здесь. – kuletzxc
Чтобы лучше помочь, опубликуйте [SSCCE] (http://sscce.org/). –