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

选中时的JToggleButton背景色

周云
2023-03-14

我有一个将初始背景颜色设置为红色的按钮。我有一个在红色和深红色之间翻转的动作程序。基本上,如果选择按钮,它是红色的。没有选中,是暗红色。

代码运行,但是每当选择切换按钮时,它都是白色的。所以我在深红色和白色之间切换。

redButton = new JToggleButton("", false);
redButton.setBackground(Color.decode("#400000"));
// Define ActionListener
ActionListener redListener = new ActionListener() {
   public void actionPerformed(ActionEvent actionEvent) {
      AbstractButton abstractButton = (AbstractButton) actionEvent.getSource();
      boolean selected = abstractButton.getModel().isSelected();
      if (selected)
         {
            abstractButton.setBackground(Color.decode("#FF0000"));
         } else { 
            abstractButton.setBackground(Color.decode("#400000"));
        }
      }
    };
redButton.addActionListener(redListener);
add(redButton);

我所做的:我做了很多代码实验,但毫无进展。我做了很多网络搜索,但找不出一个有效的例子。

我正在使用Java11。我需要在代码中更改什么才能获得我想要的行为?

共有1个答案

安明亮
2023-03-14

我需要在代码中更改什么才能获得我正在寻找的行为?

您试图实现的功能并不代表最终用户最不惊讶的途径。为什么不为每个正常状态和选定状态使用彩色图标呢?

 类似资料:
  • 问题内容: 我正在尝试以可靠,外观独立的方式更改a的颜色。 如果使用Metal L&F,则使用UIManager是一种方法: 注意 :Iyy指出我在上面的属性名称中有一个错字,但是我会留给上面的人输入,但实际的属性名称应该是: 但是,这在我当前的外观(当前为Windows XP)中不起作用。经过进一步分析,看来Windows(仍然是XP)中的系统外观根本没有使用任何基于-的属性,或者至少它本身不提

  • 问题内容: 任何答案如何设置所选单元格的背景色? 问题答案: 斯威夫特4.2 对于多个选择,您需要将属性设置为 true 。 myTableView.allowsMultipleSelection = true 如果您将 UITableViewCell 子类化,则可以在自定义单元格类中重写方法。

  • 问题内容: 我有一个框,当单击框并显示所有选项时,我正在尝试更改选项的背景色。 HTML: CSS: 问题答案: 你需要把对标签,而不是标签… 如果要为每个标签设置样式,请使用css 选择器:

  • 问题内容: 我想使用来自定义一个闪亮的应用程序,tabsetPanels以便所选面板显示在带有白色文本的黑色背景中,而未选择的选项卡显示带有黑色文本的白色背景。 例如,在下面的应用程序中,当选择“ Hello”选项卡时,我希望“ Hello”在黑色背景上显示为白色文本。但是我仍然希望面板内容(输入字段)的背景保持白色。 我能找到的最接近的东西来自这个问题:Shinydashboard的Tab Bo

  • 单击单选按钮时,如何更改表格td背景色? 该视图在foreach循环的帮助下生成10个问题,每个问题有4个单选按钮。使第一个单选按钮名ans[0],第二个ans[1]等等 这是另一个div中的表数据。 我想在用户单击ans[0]单选按钮时将td的背景色更改为1。

  • 问题内容: 如果选择了该面板(单击该面板),则该面板的颜色为蓝色。另外,我在该面板上添加了一个小标志(图像),它表示所选面板之前已被选中。 因此,如果用户看到例如10个面板,其中有4个带有这个小标记,则他知道自己之前已经单击了这些面板。到目前为止,这项工作还不错。现在的问题是我无法显示小标志并使面板同时变为蓝色。 我使用css将面板设置为蓝色,使用设置背景图像。但是背景色似乎在图像上方,因此您看不