- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 java swing 中创建一个 gui,让用户使用切换按钮预订座位。我最初有默认的按钮颜色来测试单击事件是否有效。该按钮应变为红色表示已预订,变为黄色表示未预订。
这是我的actionPerformed方法
@Override
public void actionPerformed(ActionEvent e) {
GoldSeat seat = (GoldSeat)e.getSource();
if(seat.isSelected()){
seat.setBackground(Color.red);
}
else
{
seat.setBackground(Color.yellow);
}
}
GoldSeat 只是 JToggleButton 的派生类。由于某种原因,当我单击该按钮时,它不会变成红色(它变成默认的灰色),但当我再次单击它时,它会变成黄色。因此,按钮的“真”或“开”状态似乎不起作用,但“假”状态却起作用。我不知道为什么 isSelected() 无法正常运行。
知道如何解决这个问题吗?
编辑:我使用 Netbeans 的简单拖放界面将一个快速 JFrame 与一个 JToggleButton 组合在一起,生成了以下代码:
jToggleButton1 = new javax.swing.JToggleButton();
jToggleButton1.setText("jToggleButton1");
jToggleButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jToggleButton1ActionPerformed(evt);
}
});
以及 Action 事件:
private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if(jToggleButton1.isSelected()){
jToggleButton1.setBackground(Color.red);
}else {
jToggleButton1.setBackground(Color.yellow);
}
}
这执行了我想要发生的事情,但我无法使用上面发布的派生类重新创建它。我自己的代码做错了什么吗?
最佳答案
当选择切换按钮时,LAF 会进行自定义绘制,因此设置背景没有效果。
您也许可以使用UIManager
来控制此行为。在创建任何切换按钮之前,您可以尝试:
UIManager.put("ToggleButton.select", Color.RED);
这将更改所有切换按钮的属性。
编辑:
如果您只想为单个切换按钮提供此功能,您可以尝试(不确定它是否有效),例如:
Color select = UIManager.getColor("ToggleButton.select");
UIManager.put("ToggleButton.select", Color.RED);
JToggleButton button = new JToggleButton(...);
UIManager.put("ToggleButton.select", select);
关于java - java swing 中的 JToggleButton 无法识别 isSelected() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40811419/
这个问题在这里已经有了答案: UICollectionView - didDeselectItemAtIndexPath not called if cell is selected (8 个回答)
我想将选定的选项卡背景设置为红色,而未选择的选项卡背景设置为绿色。但是,只有未选中的选项卡在更改时才会显示为绿色。选择保持白色。
我正在尝试更改 TreeView 中的 SelectedItem 模板。我按照描述在 Style.Triggers 中编写了简单的容器样式和更改项目模板 [1]: How do I highlight
我有一个包含各种项目的 TreeView。项目的样式使得 IsSelected 属性绑定(bind)到我的 VM 到 bool IsSelected。 每当我单击 TreeView 项时,都会调用此
我意识到这可能是菜鸟问题的定义,但我很困惑,非常感谢任何帮助。 我有一个 actionlistener 和 JRadioButton,它们是在 ValublesMain 类中声明的,如下所示。 JRa
我正在尝试用 Selenium 测试一组单选按钮。我已将它们分组在一个列表中 @FindBy(xpath = "//ux-button-group//input[@name='options']")
我使用 isSelected 作为复选框。调试显示该方法无论是否选中都返回false,没关系。 来自 xml 的部分: 和代码: @Override protected void onCr
好吧,我想做的是在选择 JRadioButton 时更改它们的文本,我让它们更改颜色。我知道我可以通过将代码放入特定于每个按钮的专用事件处理方法中来更改文本来做到这一点,但是我该如何做到这一点,以便我
我还是没明白。能否请您准确地告诉我如何覆盖 ListBox 的默认行为。 每次选择 ListBoxItem 时,都应更改边框的背景。不是整行的背景,而是指定的边框的背景。
我有一组绑定(bind)到 ListBox 的 ViewModel。我正在尝试将每个的 IsSelected 属性绑定(bind)在一起。在 WPF 中,它通过设置样式来工作: 这在 S
我目前正在设计我的应用程序 (WPF),我正在尝试更改 DatagridRow 的 IsSelected 的设计。 XAML:
我制作了一个自定义渐变按钮,这样我就可以更改不同状态下的渐变颜色: class GradientButton: UIButton { public var buttongradient: CAGrad
我目前正在重构我制作的一个线程安全的应用程序。 我有一个需要检查的 JCheckBox。此 JCheckBox 在整个程序中的各种不同线程中被引用。 我可以简单地调用 checkbox.isSelec
我有一个单选组,定义了两个黑色和彩色按钮。当我尝试根据选择进行计算时,什么也没有发生。知道为什么我的单选按钮不起作用吗?谢谢 public void onClick(V
您好,我正在尝试显示 JTAppleCalendar 选择的当前日期,但我希望它不要触发 isSelected,因为我想在用户实际选择日期时显示时间选择器,而不是在加载日历时触发与当前日期 选中单元格
我有一个函数,其目的是更改单选按钮的状态,它看起来像这样: public void changeRadioState(List radioButtons){ for(WebEle
下面的代码用于在选择 3 个按钮中的任何一个时更改背景颜色:红色、绿色或蓝色。当我选择其中任何一个时,实际上什么也没有发生。但是,从 JButtons 更改为 JRadioButtons 或 JTog
我在 C#/WPF 中有一个相当大的应用程序,它是用 MVVM 制作的(有点)。 在 ListView 中,我使用 IsSelected 绑定(bind)到所选项目。这些 IsSelected 属性位
我在 JTable 中有一个 JComboBox,正在查看解释参数的 getTableCellRendererComponent 文档。 table - the JTable that is aski
我正在创建一个带有 3 个按钮、3 个复选框和 3 个单选按钮的 JFrame。我遇到按下 3 个按钮中的 1 个按钮时执行的功能的问题。这是函数: private void setCenterCol
我是一名优秀的程序员,十分优秀!