最近在做一个Java Swing的应用程序,使用到了JTable控件,需求就是当我点击Enter按键的时候,table能够换列,原先没有思路,然后再问答里提问了,有位小伙伴跟我说了用ActoinMap,非常感谢,现在问题解决了,和大家分享下,源码如下
import java.awt.BorderLayout; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.ActionMap; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.UIManager; import javax.swing.table.DefaultTableModel; public class JTableResponseEnterKey extends JFrame { private static final long serialVersionUID = 1L; private JPanel contentPane; private JTable table; public JTableResponseEnterKey() { init(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 705, 502); setVisible(true); } public void init() { contentPane = new JPanel(); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane); table = new JTable(); table.setModel(new DefaultTableModel(new Object[][] { { "一", "二", "三" }, { "四", "五", "六" }, }, new String[] { "第一列", "第一列", "第一列" })); ActionMap am = (ActionMap) UIManager.get("Table.actionMap"); am.put("selectNextRowCell", new AbstractAction() { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent e) { if(table.getEditingColumn() == -1){ //假如当前没有选中编辑列,默认第一行第一列 table.editCellAt(0, 0); }else if (table.getEditingColumn() < table.getColumnCount() - 1) { System.out.println("focus下一列"); table.editCellAt(table.getEditingRow(),table.getEditingColumn() + 1); } else { System.out.println("focus下一行"); table.editCellAt(table.getEditingRow() + 1, 0); } } }); table.setActionMap(am); contentPane.add(table, BorderLayout.CENTER); } public static void main(String[] args) { new JTableResponseEnterKey(); } }
相关推荐
原创 Java JTable 操作单元格 行 列
重写JTable ctrl+c的内容,实现自己定制的内容输出。
复杂JTable-跨列表头, JTable表头合并,已经测试Ok,希望对你有用
ResultSet直接在JTable显示
JTable使用 JTable使用JTable使用JTable使用
java Jtable 经典列设置+表格颜色.docx
JTable的显示效果
封装JTable同时锁定多行多列效果,通过多层布局实现,不需要多个数据集,使用简单,不用对现有代码做改动。
实现jTable和jTree的双向联动,点击jTree会选中jTable单元格,点击jTable会选中jTree节点。
JTable数据库基本操作多行增删改查,介绍详细,源代码齐全
本文档主要讲述的是java表格控件JTable常用操作详解;JTable是Swing编程中很常用的控件,文中总结了一些常用方法以备查阅。
JTable的使用收藏 1.JTable与TableModel 1.TableModel与JTable的关系 2.TableModel实践 3.使用JTable+TableModel展示java中的数据对象 2.JTable展示方式的美化 1.设置表格的宽度和高度 2.要显示表头 3.新加列,将...
java实现的,一种JTable中多列排序的实现方法
JTable增加删除按钮实例,用于java开发
Swing之JTable的详细介绍,讲述jtable的操作和excle表之间的转换
java表格控件JTable常用操作详解.pdf
JTable动态刷新数据JTable动态刷新数据JTable动态刷新数据JTable动态刷新数据
Jtable数据查询与界面跳转
复杂JTable(复杂表头、跨行列表体)
此 Java 技巧将帮助您理解系统剪贴板,并使您的 JTable 能够与 Excel 交互和互操作。您将看到,通过在当前应用程序中仅仅添加另外的一行代码即可实现这一有用功能的添加。 要实现这一目标,需要做的只是复制这里...