gpt4 book ai didi

java - JButton 不会被按下

转载 作者:行者123 更新时间:2023-12-01 16:51:18 24 4
gpt4 key购买 nike

我正在开发一个文本编辑器,其中有一个侧面板和菜单栏用于格式化文本,例如您可以通过浏览菜单或按按钮将文本设置为粗体。但是,当按下按钮时,即使我再次按下它,它也会保持按下状态。如果我通过菜单栏执行此操作,它会按下,然后在再次选择“粗体”时按下。因此,通过菜单栏它可以工作,但在侧面板中执行它时则不起作用。

按下按钮的代码,这是在我的侧面板(JPanel)中

    public void press(JButton button){
System.out.println("Pressed: " + button.getModel().isPressed());
if(button.getModel().isPressed()){
System.out.println("1");
button.getModel().setPressed(false);
}
else{
System.out.println("2");
button.getModel().setPressed(true);
System.out.println("Pressed2: " + button.getModel().isPressed());
}
}

在我的渲染 View 类中,我有这个 Action 监听器

private public void actionPerformed(ActionEvent e){
String action = e.getActionCommand();

if(action.equals("New")){
newTA();
}else if(action.equals("Bold") || action.equals("B")){
contr.bold();
sidePanel.press(sidePanel.bold);
}
}

其中“Bold”穿过菜单,“B”穿过侧边栏。菜单和侧面板都会切换粗体格式,只是侧面板中的按钮再次按下时不会被按下。

有人遇到过类似的问题并可能有解决方案吗?

最佳答案

使用 JToggleButton您不必担心按下/未按下状态。

关于java - JButton 不会被按下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61681853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com