`
happy_tao_cool
  • 浏览: 18265 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JTable支持点击Enter按键进行换列操作

    博客分类:
  • java
阅读更多

     最近在做一个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();
	}

}

 

分享到:
评论

相关推荐

    JTable 操作单元格 行 列

    本篇文章将深入探讨`JTable`如何操作单元格、行和列,以帮助你更好地理解和运用这一功能强大的组件。 ### 单元格操作 1. **创建和设置单元格值**:`JTable`中的每个单元格都由一个`DefaultTableModel`管理。你可以...

    JTable列隐藏

    重写JTable ctrl+c的内容,实现自己定制的内容输出。

    复杂JTable-跨列表头

    "复杂JTable-跨列表头"是一个特殊实现,它扩展了JTable的功能,允许在表头中进行列的合并,这在显示层次结构或分组数据时特别有用。 跨列表头(或合并列头)的概念是将多个列的标题合并为一个大的表头单元格,通常...

    JTable添加CheckBox

    这在需要用户进行多选操作的界面中非常常见,比如在列表中勾选多项进行批量操作。 首先,我们从`CheckTableModle.java`文件开始,这是`JTable`的数据模型。`JTable`依赖于`TableModel`来获取和设置单元格的值。在这...

    JAVA表格控件JTable常用操作详解.doc

    除了以上的基本操作,JTable还支持其他高级特性,如监听单元格更改事件(`CellEditorListener`)、自定义单元格渲染(`TableCellRenderer`)和编辑器(`TableCellEditor`),以及表格选择和排序等。这些特性使得...

    支持ResultSet的JTable

    标题"支持ResultSet的JTable"暗示我们将探讨如何将`ResultSet`对象的数据绑定到`JTable`,以便在GUI中实时显示查询结果。通常,这个过程涉及到以下步骤: 1. **数据库连接**:首先,我们需要使用`DriverManager.get...

    JTable表头排序的两种方法

    `DefaultTableColumnModel`是`JTable`默认使用的列模型,它支持列的排序功能。以下是如何设置`JTable`表头排序的步骤: 1. **获取表头视图(HeaderView)**:`JTable`的表头视图是`JTableHeader`,它负责处理表头的...

    Jtable 中放入多个按钮

    - 考虑到性能问题,避免在`getTableCellRendererComponent`方法中进行耗时的操作,因为此方法会被频繁调用。 - 如果单元格需要可编辑,还需要创建一个自定义的`TableCellEditor`,并遵循类似的过程。 - 考虑到...

    JTable数据库基本操作多行增删改查

    JTable 数据库基本操作多行增删改查 JTable 是 Java 中一个常用的表格控件,用于显示和编辑表格数据。在 JTable 中,数据是通过TableModel 来管理的。下面将详细介绍 JTable 数据库基本操作多行增删改查的知识点。 ...

    JTable隐藏某列后如何再恢复显示?

    当你需要对显示的数据进行控制,比如隐藏某一列,然后在特定条件下恢复显示时,这涉及到`JTable`的列管理功能。本篇文章将深入探讨如何实现这个功能。 首先,`JTable`的列是通过`TableColumnModel`对象来管理的。`...

    JTable使用 JTable使用

    JTable使用 JTable使用JTable使用JTable使用

    JTable实现行间拖拽的最简单方法

    然而,`JTable`默认并不支持行间的拖放(Drag and Drop, DnD)操作。本文将详细介绍如何通过一种简单的方法,为`JTable`添加行间拖拽功能,而无需对已有代码进行大规模修改或实现复杂的DnD接口。 首先,理解`JTable...

    Excel内容复制到JTable中

    在Java Swing应用中,JTable是一个非常常用的组件,用于显示和操作二维表格数据。当我们需要从Excel文件中读取数据并展示在JTable上时,就需要进行一系列的处理步骤。以下是一些关于如何实现这个过程的关键知识点: ...

    java Jtable 经典列设置+表格颜色.docx

    本文档将详细介绍如何在Java Swing框架下使用`JTable`组件进行经典列设置以及表格颜色的自定义设置,并通过一个实际的例子展示如何实现这些功能。 #### 二、基础知识 在开始之前,我们需要了解几个基本概念: - *...

    JTable

    JTable的显示效果

    jtable锁定行列

    封装JTable同时锁定多行多列效果,通过多层布局实现,不需要多个数据集,使用简单,不用对现有代码做改动。

    JTable 练习例子exa

    它是`javax.swing.JTable`类的实例,提供了一个可交互的二维数据视图,允许用户浏览、编辑和操作表格中的数据。这个"JTable 练习例子exa"显然是一个实践项目,旨在帮助开发者巩固和理解`JTable`的使用。 `JTable`的...

    Swing之JTable的详细介绍

    JTable能够方便地创建和管理表格数据,同时也支持用户交互,如编辑单元格、排序、选择行等操作。下面我们将深入探讨JTable的使用方法和特性。 首先,JTable的类继承结构如下: 1. `java.lang.Object` 2. `java.awt...

    不错的jquery插件jtable

    jtable 提供丰富的定制选项,如自定义主题、操作列、事件监听等,可以满足不同项目的需求。同时,通过扩展插件或自定义功能,可以进一步增强 jtable 的功能。 总结,jtable 是一个功能强大且易于使用的 jQuery 插件...

    JTable的初步编程

    接着,你可以右键点击`JTable`并选择“调整列宽”、“添加列”等操作。对于数据模型,NetBeans会自动为你创建一个`DefaultTableModel`,你可以通过代码编辑器添加和修改数据。 此外,`JTable`还支持各种事件监听,...

Global site tag (gtag.js) - Google Analytics