当前位置: 首页 > 知识库问答 >
问题:

JTable-如何强制用户只选择一行

公羊浩阔
2023-03-14

我必须实现一个JTable,其中必须恰好选择一行(总是)。不允许空选择。我正在初始化期间选择第一行:

table.setRowSelectionInterval(0, 0);

另外,我在用

table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

但用户仍然可以使用CLick+Ctrl取消选择一行。

最简单的方法是什么,确保在表中总是选择一行?

共有1个答案

章振
2023-03-14

现在,您可以添加mouselisteners、selectionlisteners、keylisteners和键绑定来尝试解决这个问题。或者,你可以触及问题的核心。

ListSelectionModel负责管理选择的详细信息。

您可以简单地为行选择提供自己的ListSelectionModel

public class ForcedListSelectionModel extends DefaultListSelectionModel {

    public ForcedListSelectionModel () {
        setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    }

    @Override
    public void clearSelection() {
    }

    @Override
    public void removeSelectionInterval(int index0, int index1) {
    }

}

把它放在你的桌子上...

table.setSelectionModel(new ForcedListSelectionModel());
 类似资料:
  • 我的应用程序中有以下工作流: 用户登录我的自定义应用程序 用户点击一个按钮链接他们的YouTube帐户 应用程序使用下面的代码列表发出服务器端请求 用户被重定向到google auth url 此时,发生了两件事之一: [我从来不想要这种行为] - 如果用户只登录了一个谷歌帐户(即mail,谷歌域名应用套件等),则永远不会要求用户选择要链接的帐户。它只是假设他们想要使用他们登录的那个,并继续其快乐

  • 有没有办法,我可以强制谷歌帐户选择器显示,即使用户只用一个帐户登录。 我已尝试重定向到此 URL: 它似乎有效,但我不知道是否有任何其他条件可能会失败。

  • 我目前使用Cognito用户池,作为身份提供者与Google联合,来处理我的web应用程序的用户登录。目前,我只使用谷歌实现了登录。这目前是通过Cognito的托管用户界面来完成的。 当用户使用Google登录时,我希望始终提示他们选择他们的帐户,即显示此提示。 但是,我发现当我仅使用一个Google帐户登录时,会跳过此屏幕。虽然,当我没有登录Google帐户/2个或更多Google帐户时,会显示

  • 我有一个RecycerView与RadioButton我只是想选择一个RadioButton不太多在同一时间和我的代码使它工作的很好,但当我重复选择从上到下的选择消失我如何才能修复它请谢谢。

  • 我正在使用DefaultTableModel,如下所示: 现在我想在“Selected”列中仅使一个复选框可选。这怎么能做到。我也试过下面的方法,但它不起作用。

  • 所以我已经在我的React应用中使用AWS Amplify (federatedSignIn)实现了Google认证。显然,我想让谷歌帐户选择器屏幕强制用户选择一个帐户登录。显然,它只有在有多个谷歌账户可供选择时才起作用,但如果只有一个账户,系统会自动使用它登录? 如何在只有一个帐户的情况下强制执行选择屏幕?