java - etiquetas - Extraer valores de un formulario dado
formulario jsp servlet (3)
Además de invocar textField.getText()
, puede obtener una referencia al modelo de su tabla e iterar sobre los valores usando 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();
}
}
});
Quiero extraer valores al hacer clic en el botón save
. Extraiga valores de filas y columnas de JTextField
y JTable
. Solo quiero una idea aproximada de cómo extraer y guardar valores en diferentes variables. Quiero hacer estas acciones de guardado bajo el botón guardar.
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();
}
}
Desde JTable
use el método getValueAt para recuperar el valor.
Desde JTextField
use textField.getText()
como lo indica @Abu
Desde jtextfield puede invocar el método getText
para obtener los contenidos del campo de texto en forma de String
como:
String myString = textField.getText();