Daten aus JTextField, JTable
Hinzufügen möchte ich, dass die eingegebenen Daten in die text-box auf den Tisch und halten Sie auf die ID inkrementiert. die Daten werden Hinzugefügt, wenn die Schaltfläche "Hinzufügen" geklickt wird.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ex1 extends JFrame {
GridLayout experimentLayout = new GridLayout(3, 3);
private javax.swing.JButton jButton1,jButton2,jButton3;
private javax.swing.JLabel jLabel1, jLabel2, jLabel3;
private javax.swing.JTextField jTextField1,jTextField2,jTextField3;
String columns[] = {"ID","Name","Age","Gender"};
Object data[][] = {
{"0","Tom",new Integer(20),"Male"},
{"1","Tina", new Integer(18), "Female"},
{"2","Raj",new Integer(19),"Male"}
};
public void addComponentsToPane(final Container pane) {
final JPanel compsToExperiment = new JPanel();
compsToExperiment.setLayout(experimentLayout);
JPanel controls = new JPanel();
controls.setLayout(new GridLayout(8, 3));
jLabel1 = new javax.swing.JLabel("Name: ");
jLabel2 = new javax.swing.JLabel("Age: ");
jLabel3 = new javax.swing.JLabel("Gender: ");
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton("Add");
jButton2 = new javax.swing.JButton("Next");
jButton3 = new javax.swing.JButton("Per");
compsToExperiment.add(jLabel1);
compsToExperiment.add(jLabel2);
compsToExperiment.add(jLabel3);
compsToExperiment.add(jTextField1);
compsToExperiment.add(jTextField2);
compsToExperiment.add(jTextField3);
compsToExperiment.add(jButton1);
JTable table = new JTable(data,columns);
controls.add(table.getTableHeader());
controls.add(table);
pane.add(compsToExperiment, BorderLayout.NORTH);
pane.add(controls, BorderLayout.CENTER);
}
/**
* Create the GUI and show it. For thread safety, this method is invoked
* from the event dispatch thread.
*/
private static void createAndShowGUI() {
ex1 frame = new ex1();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addComponentsToPane(frame.getContentPane());
frame.setSize(500,500);
//frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(
"javax.swing.plaf.metal.MetalLookAndFeel");
} catch (UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
} catch (IllegalAccessException ex) {
ex.printStackTrace();
} catch (InstantiationException ex) {
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
/* Turn off metal's use of bold fonts */
UIManager.put("swing.boldMetal", Boolean.FALSE);
//Schedule a job for the event dispatch thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
Ich weiß das das design ist ganz über dem Platz ich habe gerade angefangen java zu lernen, fühlen Sie sich frei, darauf hin, dass die Verbesserung vorgenommen werden.
Danke im Voraus 🙂
InformationsquelleAutor Moe | 2012-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hinzufügen, um die eingegebenen Daten in der
JTextFields
registrieren Sie einenActionListener
auf Ihre Schaltfläche hinzufügen, in diesem FalljButton1
.Hinzufügen von Einträgen zu Ihrem Tisch Modell Sie verwenden könnte ein veränderliches Modell wie
DefaultTableModel
:In der
actionPerformed
Methode IhrerActionListener
haben Sie:Werden folgende Methoden empfohlen:
JTable
könnte potenziell halten eine große Menge von Daten. Auch in eineJScrollPane
.AbstractTableModel
für mehr Flexibilität, aber angesichts der offensichtlichen Ebene der Erfahrung des OPDefaultTableModel
wäre mehr als ausreichend. +1InformationsquelleAutor Reimeus