gpt4 book ai didi

Java GUI 菜单栏

转载 作者:行者123 更新时间:2023-12-02 00:32:04 25 4
gpt4 key购买 nike

我正在用 Java 练习我的 gui 技能,并且我一直在做菜单和菜单栏。它们对我来说很有意义,但我有一个问题:在哪里可以了解更多关于它们的信息。

我所做的基本菜单,ActionListener函数actionPerformed必须与菜单在同一个类中,并且菜单正在改变的项目也必须与菜单在同一个类中。

如果我想要一个菜单​​影响由另一个类的构造函数创建并放置在我的框架中的 JPanel,该怎么办?我不确定菜单如何更改它的组件。

任何你们认为有帮助的技巧、提示或网站都会很棒,提前致谢。

最佳答案

我发现将菜单栏操作包装在 Action 对象中很有用。这封装了:

  1. 操作的名称和图标
  2. 是否启用或禁用
  3. (对于复选框操作)如果已选中
  4. 操作的键盘快捷键
  5. Action 监听器的实现

您可以在该操作所作用的数据的类中定义 AbstractAction 的子类。然后为该操作定义一个 getter,以便您的菜单构建代码可以获取它。您可以将 Action 直接添加到菜单 - 会自动为其构建 MenuItem

操作的另一个优点是可以在按钮、工具栏等中使用相同的操作。

class ModelClass {
int value;
Action incAction = new AbstractAction("Increment") {
public void actionPerformed() {
value++;
setEnabled(value < 10);
}
};

public Action getIncAction() {
return incAction;
}
}

class UIClass {
void buildMenu() {
JMenu menu = new JMenu("Model");
menu.add(model.getIncAction());
}
}

关于Java GUI 菜单栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8792302/

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