当前位置: 首页 > 面试题库 >

JPanel动作监听器

齐胜涝
2023-03-14
问题内容

我有一个带有许多不同复选框和文本字段的JPanel,我有一个已禁用的按钮,并且在设置特定配置时需要将其启用。我需要的是整个JPanel上的侦听器,以在发生任何更改时查找事件。我相信我需要一个动作监听器,但找不到任何东西可以将动作监听器与JPanel桥接

JPanel Window = new JPanel();
Window.addActionListener(new ActionListener(){
//Check if configurations is good
}

我认为我可以将代码复制和粘贴很多次到面板中的每个侦听器中,但这对我来说似乎是不好的编码习惯。


问题答案:

首先在他的@Sage提意见一个的JPanel是不是该做动作的组件的容器。因此,您无法将ActionListener附加到JPanel

我认为我可以将代码复制和粘贴很多次到面板中的每个侦听器中,但这对我来说似乎是不好的编码习惯。

您对此完全正确,这根本不是一个好习惯(请参阅DRY原理)。取而代之的是,您可以只定义一个ActionListener并将其附加到您的JCheckBoxes上,如下所示:

final JCheckBox check1 = new JCheckBox("Check1");
final JCheckBox check2 = new JCheckBox("Check2");
final JCheckBox check3 = new JCheckBox("Check3");

final JButton buttonToBeEnabled = new JButton("Submit");
buttonToBeEnabled.setEnabled(false);

ActionListener actionListener = new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        boolean enable = check1.isSelected() && check3.isSelected();
        buttonToBeEnabled.setEnabled(enable);
    }
};

check1.addActionListener(actionListener);
check2.addActionListener(actionListener);
check3.addActionListener(actionListener);

这意味着:如果check1check3都被选中,则必须启用该按钮,否则必须禁用。当然,只有您知道应该选择哪种复选框组合才能将按钮设置为启用。

看一下如何使用按钮,复选框和单选按钮教程。



 类似资料:
  • 我正在处理一些奇怪的遗留代码。他们有一个实现JPanel的自定义对象。这个< code>JPanel对象是主应用程序中的第二个弹出屏幕。我遇到的问题是检测辅助弹出屏幕何时关闭。 我尝试为该类实现一个,但是当我尝试添加它时,没有与此对象关联的。我假设这是因为他们正在使用一个自定义对象,它是一个嵌入式弹出屏幕。 我尝试使用以下命令检索: 这在上失败。我不知道为什么在这个页面上检测右上角的“x”关闭按钮

  • 导航条示例 滚动监听插件会根据滚动的位置,自动更新导航条的目标。滚动在导航条下面的区域,查看active类的改变。弹出菜单的子项也同样会被高亮。 用法 需要Bootstrap导航条 Scrollspy currently requires the use of a Bootstrap nav component for proper highlighting of active links. 滚动

  • 滚动监听是一个 jQuery 插件,用于追踪某一确定元素并且元素目前处于用户屏幕的焦点。我们的示例在每个文档页的右边。单击这些链接将滚动到页面元素的位置。 表格内容的结构 <div class="row"> <div class="col s12 m9 l10"> <div id="introduction" class="section scrollspy"> <p>内容 </p>

  • 本文向大家介绍vue监听滚动事件实现滚动监听,包括了vue监听滚动事件实现滚动监听的使用技巧和注意事项,需要的朋友参考一下 在vue中实现滚动监听和原生js无太大差异,下面是一个简单的demo,可在控制台查看结果 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • 主要内容:用法,实例,选项,方法,实例,事件,实例,更多实例,实例,实例滚动监听(Scrollspy)插件,即自动更新导航插件,会根据滚动条的位置自动更新对应的导航目标。其基本的实现是随着您的滚动,基于滚动条的位置向导航栏添加 .active class。 如果您想要单独引用该插件的功能,那么您需要引用 scrollspy.js。或者,正如 Bootstrap 插件概览 一章中所提到,您可以引用 bootstrap.js 或压缩版的 bootstrap.min.js。

  • 主要内容:如何创建滚动监听,实例,实例滚动监听(Scrollspy)插件,即自动更新导航插件,会根据滚动条的位置自动更新对应的导航目标。其基本的实现是随着您的滚动。 如何创建滚动监听 以下实例演示了如何创建滚动监听: 实例 <!-- 可滚动区域 --> <body data-spy="scroll" data-target=".navbar" data-offset="50"> <!-- The navbar - The <a> el