怎样将Swing中的表格内的数据显示在文本框中

各位大侠们,我用Swing做了一个界面,上面的布局是一个表格,下面的布局是一堆文本框,我想当我点击文本框某一行时在下面的文本框中显示相应的数据,请问该怎么弄啊,哪位雷锋帮... 各位大侠们,我用Swing做了一个界面,上面的布局是一个表格,下面的布局是一堆文本框,我想当我点击文本框某一行时在下面的文本框中显示相应的数据,请问该怎么弄啊,哪位雷锋帮我哈,小弟我万分感谢! 展开
 我来答
程序那点事
2011-12-09 · TA获得超过6140个赞
知道大有可为答主
回答量:3253
采纳率:59%
帮助的人:1329万
展开全部
你的意思是要实现右击菜单那种是吧
那你就要加一个事件 点击表格某一行时 触发事件,获取这条记录要显示给文本框的记录 再给文本框赋值就可以了
/************************************************/
调用JTable的rowAtPoint方法 参见API:

public int rowAtPoint(Point point)返回 point 所在的行索引;如果结果不在 [0, getRowCount()-1] 范围内,则返回 -1。
参数:
point - 要查询的位置
返回:
point 所在的行索引;如果结果不在 [0, getRowCount()-1] 范围内,则返回 -1
另请参见:
columnAtPoint(java.awt.Point)

范例:
public void mousePressed(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
int selIndex = myTable.rowAtPoint(e.getPoint());



selIndex就是右键单击的行数 通过columnAtPoint也可以获得列数
行数和列数就能找到对应的单元格了
追问
能否有一个小小的案例?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
可以叫我表哥
推荐于2016-02-23 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464977
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。

向TA提问 私信TA
展开全部
类变量

JTextField txtResult = new JTextField();

.............
计算结果的过程
txtResult.setText(String.valueOf(result));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
daay1986
推荐于2016-10-07 · TA获得超过6018个赞
知道大有可为答主
回答量:2208
采纳率:0%
帮助的人:1469万
展开全部
public class TableDemo {

public static void main(String[] args) {
class Data {

String name = (Math.random() + "").substring(0, 3);

public String getDatFiled(int index) {
return name + index;
}
}
class Model extends AbstractTableModel {

private ArrayList<Data> list = new ArrayList<Data>();

public Model() {
list.add(new Data());
list.add(new Data());
list.add(new Data());
list.add(new Data());
list.add(new Data());
list.add(new Data());
}

public Data getData(int index) {
return list.get(index);
}

@Override
public int getRowCount() {
return list.size();
}

@Override
public int getColumnCount() {
return 3;
}

@Override
public Object getValueAt(int rowIndex, int columnIndex) {
return list.get(rowIndex).getDatFiled(columnIndex);
}
}
final JTable table = new JTable(new Model());
JPanel panel = new JPanel(new FlowLayout());
final JTextField text1 = new JTextField();
text1.setColumns(5);
final JTextField text2 = new JTextField();
text2.setColumns(5);
final JTextField text3 = new JTextField();
text3.setColumns(5);
panel.add(text1);
panel.add(text2);
panel.add(text3);
table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

@Override
public void valueChanged(ListSelectionEvent e) {
Model model = (Model) table.getModel();
Data data = model.getData(table.getSelectedRow());
text1.setText(data.getDatFiled(0));
text2.setText(data.getDatFiled(1));
text3.setText(data.getDatFiled(2));
}
});
JFrame frame = new JFrame("Table Demo");
frame.setDefaultCloseOperation(3);
frame.setSize(500, 400);
frame.getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
frame.getContentPane().add(panel, BorderLayout.SOUTH);
frame.setVisible(true);
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式