Swing 将数据从JTable显示到TextArea
当一行被选中时,如何将JTable的“特定列”中的数据显示到文本区域中。getvaluetable.getValueAttable.getSelectedRow,“特定列”。 有没有监听器可以做到这一点?我的意思是,在每次选择中,textarea都必须更新,并获取选中行的特定列的值 向表中添加鼠标侦听器。当用户选择单元格时,只需获取数据并将文本设置为TextField。您可以通过运行以下代码来查看演示Swing 将数据从JTable显示到TextArea,swing,jtable,jtextarea,Swing,Jtable,Jtextarea,当一行被选中时,如何将JTable的“特定列”中的数据显示到文本区域中。getvaluetable.getValueAttable.getSelectedRow,“特定列”。 有没有监听器可以做到这一点?我的意思是,在每次选择中,textarea都必须更新,并获取选中行的特定列的值 向表中添加鼠标侦听器。当用户选择单元格时,只需获取数据并将文本设置为TextField。您可以通过运行以下代码来查看演示 private void createUI() { JFrame frame
private void createUI() {
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
Object[][] data = {{"a", "b"}, {"c", "d"}, {"e", "f"}};
Object[] columnNames = {"Col-1", "Col-2"};
final JTable table = new JTable(data, columnNames);
JPanel btnPnl = new JPanel(new FlowLayout(FlowLayout.LEFT));
btnPnl.add(new JLabel("Selected Value: "));
final JTextField text = new JTextField(10);
btnPnl.add(text);
table.getTableHeader().setReorderingAllowed(false);
table.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(table.getSelectedRow() != -1 && table.getSelectedColumn() != -1) {
String selData = table.getValueAt(table.getSelectedRow(), table.getSelectedColumn()).toString();
text.setText(selData);
}
}
});
frame.add(table.getTableHeader(), BorderLayout.NORTH);
frame.add(table, BorderLayout.CENTER);
frame.add(btnPnl, BorderLayout.SOUTH);
frame.setTitle("Table to TextField Example.");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
抱歉,我指的是textarea.setTexttable.getValueAttable.getSelectedRow,'specific column'而不是table.getvaluetable.getValueAttable.getSelectedRow,'specific column'不够好,你知道;-要求是:_当一行被选中时u-可以由比鼠标更多的触发器发生…aaah true:-。让我尝试其他场景并重新发布。谢谢你们的回答:-但我在internet上做了研究,发现我必须创建一个实现ListSelectionListener的类,并调用未实现的方法void valueChangedListSelectionEvent e,然后声明ListSelectionModel lsm=ListSelectionModele.getSource;对于int i=minIndex;我