从给定的Form中提取值

我想在单击按钮save提取值。 从JTextFieldJTable行和列中提取值。 只是想大致了解如何提取和保存不同变量中的值。 我想在按钮保存下执行这些保存操作。

 package build; import java.awt.*; import javax.swing.*; import com.jgoodies.forms.layout.FormLayout; import com.jgoodies.forms.layout.ColumnSpec; import com.jgoodies.forms.layout.RowSpec; import com.jgoodies.forms.factories.FormFactory; import javax.swing.table.DefaultTableModel; import javax.swing.border.TitledBorder; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class Table_Edit { private JTextField textField; private JTable table; private String Table_Name = new String(); public Table_Edit() { JFrame frame = new JFrame("Table"); frame.setSize(600, 400); frame.getContentPane().setLayout(new FormLayout(new ColumnSpec[]{ FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.RELATED_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.RELATED_GAP_COLSPEC, ColumnSpec.decode("default:grow"), FormFactory.RELATED_GAP_COLSPEC, ColumnSpec.decode("default:grow"),}, new RowSpec[]{ FormFactory.RELATED_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.RELATED_GAP_ROWSPEC, RowSpec.decode("default:grow"), FormFactory.RELATED_GAP_ROWSPEC, RowSpec.decode("default:grow"),})); JLabel lblTableName = new JLabel("Table Name :"); frame.getContentPane().add(lblTableName, "2, 2, right, default"); textField = new JTextField(Table_Name); textField.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); frame.getContentPane().add(textField, "4, 2, 9, 1, left, center"); textField.setColumns(10); JScrollPane scrollPane = new JScrollPane(); frame.getContentPane().add(scrollPane, "3, 4, 29, 1, fill, fill"); table = new JTable(); table.setFillsViewportHeight(true); scrollPane.setViewportView(table); table.setBorder(new TitledBorder(null, "", TitledBorder.CENTER, TitledBorder.TOP, null, null)); table.setColumnSelectionAllowed(true); table.setCellSelectionEnabled(true); table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); table.setModel(new DefaultTableModel( new Object[][]{ {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null},}, new String[]{ "Column Name", "Data Type", "NN", "PK" }) { Class[] columnTypes = new Class[]{ String.class, Object.class, Boolean.class, Boolean.class }; public Class getColumnClass(int columnIndex) { return columnTypes[columnIndex]; } }); table.getColumnModel().getColumn(0).setResizable(false); table.getColumnModel().getColumn(0).setPreferredWidth(106); table.getColumnModel().getColumn(1).setResizable(false); table.getColumnModel().getColumn(1).setPreferredWidth(92); table.getColumnModel().getColumn(2).setResizable(false); table.getColumnModel().getColumn(2).setPreferredWidth(26); table.getColumnModel().getColumn(3).setResizable(false); table.getColumnModel().getColumn(3).setPreferredWidth(30); JPanel panel = new JPanel(); frame.getContentPane().add(panel, "32, 6, right, fill"); JButton Save = new JButton("Save"); Save.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { System.out.print(Table_Name); } }); Save.setMaximumSize(new Dimension(33, 19)); Save.setIcon(new ImageIcon(Table_Edit.class.getResource( "/com/sun/java/swing/plaf/windows/icons/TreeOpen.gif"))); panel.add(Save); JButton btnNewButton_1 = new JButton("Exit"); btnNewButton_1.setIcon(new ImageIcon(Table_Edit.class.getResource( "/javax/swing/plaf/metal/icons/ocean/close.gif"))); panel.add(btnNewButton_1); frame.setVisible(true); } public static void main(String[] args) { new Table_Edit(); } } 

除了调用textField.getText() ,您还可以获取对表模型的引用,并使用getValueAt()迭代值:

 JButton save = new JButton("Save"); save.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println(textField.getText()); TableModel model = table.getModel(); for (int r = 0; r < model.getRowCount(); r++) { for (int c = 0; c < model.getColumnCount(); c++) { System.out.print(model.getValueAt(r, c) + " "); } System.out.println(); } } }); 

在jtextfield中,您可以调用getText方法以String的forms获取文本字段的内容,如:

 String myString = textField.getText(); 

JTable使用getValueAt方法来检索值。

JTextField使用@Abu所述的textField.getText()