久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

在 jTable 上使用 Enter 鍵就像 Tab 鍵一樣

Use Enter Key Act Like Tab Key on jTable(在 jTable 上使用 Enter 鍵就像 Tab 鍵一樣)
本文介紹了在 jTable 上使用 Enter 鍵就像 Tab 鍵一樣的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我在我的項目中被困 2 天,我無法實現如何使 ENTER KEYTAB KEY 我試過 key listener 但是 ENTER KEY 具有 JTable 的默認功能,因此它無法正常工作,它會繼續向下移動.我 google 它發現我需要使用 鍵綁定 但我無法實現它.

I'm stuck from 2 days in my project i cant implement how to make the ENTER KEY act like TAB KEY i tried key listener but the ENTER KEY have a default feature for JTable so it's not working it's keep moving down. I google it discovered that i need to use key binding but i'm unable to implement it.

誰能在 JTable 上給我一個完整的代碼示例???請需要你的幫助.

Can anyone give me a full coded example of this on a JTable ??? Please need you help.

提前致謝

推薦答案

基本的轉變是使用鍵綁定 API,在大多數情況下,這將允許您覆蓋許多組件上的默認行為鍵.

The basic twist would be to use the key bindings API, which will allow you to override, in most cases, the default behaviour keys on many components.

此示例基本上將相同的命名操作應用于 EnterTab 鍵,這樣可以通過使用單個 Action 輕松修改它們的行為.

This example basically applies the same named action to the Enter and Tab keys, this makes it easy to modify their behaviour through the use of a single Action.

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ActionMap;
import javax.swing.InputMap;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.KeyStroke;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.table.DefaultTableModel;

public class Test101 {

    public static void main(String[] args) {
        new Test101();
    }

    public Test101() {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
                }

                JTable table = new JTable();
                InputMap im = table.getInputMap();
                im.put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "Action.NextCell");
                im.put(KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0), "Action.NextCell");

                ActionMap am = table.getActionMap();
                am.put("Action.NextCell", new NextCellActioin(table));

                DefaultTableModel model = new DefaultTableModel(10, 10);
                table.setModel(model);

                JFrame frame = new JFrame("Testing");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setLayout(new BorderLayout());
                frame.add(new JScrollPane(table));
                frame.pack();
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });
    }

    public class NextCellActioin extends AbstractAction {

        private JTable table;

        public NextCellActioin(JTable table) {
            this.table = table;
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            int col = table.getSelectedColumn();
            int row = table.getSelectedRow();

            int colCount = table.getColumnCount();
            int rowCount = table.getRowCount();

            col++;
            if (col >= colCount) {
                col = 0;
                row++;
            }

            if (row >= rowCount) {
                row = 0;
            }

            table.getSelectionModel().setSelectionInterval(row, row);
            table.getColumnModel().getSelectionModel().setSelectionInterval(col, col);
        }

    }

}

我記得 Tab 的功能是通過焦點管理器更改默認焦點行為來控制的

The functionality of Tab is controlled by changing the default focus behaviour through the focus manager as I recall

這篇關于在 jTable 上使用 Enter 鍵就像 Tab 鍵一樣的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How to wrap text around components in a JTextPane?(如何在 JTextPane 中的組件周圍環繞文本?)
MyBatis, how to get the auto generated key of an insert? [MySql](MyBatis,如何獲取插入的自動生成密鑰?[MySql])
Inserting to Oracle Nested Table in Java(在 Java 中插入 Oracle 嵌套表)
Java: How to insert CLOB into oracle database(Java:如何將 CLOB 插入 oracle 數據庫)
Why does Spring-data-jdbc not save my Car object?(為什么 Spring-data-jdbc 不保存我的 Car 對象?)
Use threading to process file chunk by chunk(使用線程逐塊處理文件)
主站蜘蛛池模板: 中文字幕亚洲精品 | 中文字幕一区二区在线观看 | 日本激情视频中文字幕 | 一区二区三区欧美在线 | 久久精品亚洲 | 美女张开腿露出尿口 | 91麻豆精品国产91久久久久久 | 久久99精品国产麻豆婷婷 | 成人精品一区 | 鸳鸯谱在线观看高清 | 国内成人免费视频 | 国产精品高潮呻吟久久av野狼 | 日韩精品在线播放 | 视频一区在线观看 | 久久精片| 成人免费看片又大又黄 | 欧美激情国产日韩精品一区18 | 九九久久精品视频 | 一区二区久久电影 | 欧美一区二区三区四区五区无卡码 | 国产精品激情 | 91秦先生艺校小琴 | 99精品国产一区二区三区 | 91久久| 黄色成人在线观看 | 日韩一区二区三区在线观看视频 | 国产乱码精品一区二区三区忘忧草 | 国产视频久 | 国产精品污www在线观看 | 亚洲视频中文字幕 | 91大神新作在线观看 | 国产一区二区三区四区 | 国产精品成人一区 | 91成人精品 | 69精品久久久久久 | 国产欧美精品 | 亚洲精品视频在线播放 | 国产aaaaav久久久一区二区 | 精品国产一区二区三区免费 | 精品久久久久久久久久久久久久 | 一区视频在线播放 |