在多个框架中使用相同的按钮

发布于 2025-01-11 15:20:05 字数 271 浏览 0 评论 0原文

我正在学习 Java Swing,我创建了一些 JFrame 窗口,在其中一些窗口中,我创建了一个按钮,它们具有相同的解决方案(例如搜索或保存信息),但是,我一直必须从头开始创建或使用 ctrl+c ctrl+v。有没有办法创建一个 JButton 并在多个框架中使用相同的按钮?

对于 JTextfield 来说,有没有一种方法可以只创建一次并用于多个框架?

有一个使用独特按钮并显示“Hello World”的示例吗?

I'm studying Java Swing, and I created some JFrame windows, in some of them, I created a button and they have the same solution (like search or save information), however, all the time I've had to create from the begining or use ctrl+c ctrl+v. Is there a way to create a JButton and use the same button in multiple frames?

And for JTextfield, there's a way to create only once and use for multiples frames?

There's an example using a unique button and showing a "Hello World"?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

北笙凉宸 2025-01-18 15:20:05

Swing 组件只能包含在一个容器中(JPanel 等)。然而,大多数 Swing 组件都由模型支持,并且这些模型可以轻松地在多个组件实例之间共享。对于 JButton,实际上有两个模型:ButtonModelAction。您可以使用将 ActionListener 添加到 ButtonModel 中,这应该可以工作。但是,我从未使用过它,因为我更喜欢使用 Action 作为按钮。

Swing components can only be contained in one container (JPanel, etc.). However, most Swing components are backed by models, and those models can easily be shared between multiple component instance. In case of JButton there are actually two models: a ButtonModel and an Action. You can use add ActionListeners to the ButtonModel and that should work. However, I've never used that, since I prefer to use Action for buttons.

南街女流氓 2025-01-18 15:20:05

嗯,这是可能的,但是有两个副本会简单得多。

要实现它,您需要创建扩展 Component 的委托类,并将所有方法调用传递给按钮的单个实例。

不过,您将拥有多个委托实例。

Well it is possible, but it will be much simpler to have two copy.

To achieve it yo need to create delegate class extending Component and pass all method calls to single instance of button.

You'll have multiple instances of delegate though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文