Swing 事件架构
我正在构建一个基于 Swing 的富客户端应用程序。我想知道事件处理的最佳架构是什么。
我的类是:
- MyFrame
- FirstPanel,带有 jbutton
- SecondPanel 和 jLabel
我使用 MyFrame 中的 FirstPanel 启动应用程序。
然后,我向 FirstPanel 中的按钮添加一个操作侦听器,我希望此操作 (1) 关闭 FirstPane,然后 (2) 在正在运行的 MyFrame 中打开一个新的 SecondPanel
如何操作?
编辑 - 示例
我想在启动时显示存储在文件中的用户列表,然后用户单击他的名字或单击“新用户”。当他单击“新用户”时,会出现第二个面板,其中包含一个用于创建新用户并将其存储在文件中的表单。
在此示例中,MyFrame 是主框架,由 main() 方法创建。
然后出现 ListUsersPanel。
然后,如果我单击“新用户”,就会出现 NewUserPanel。
我的问题是:如何设计我的类/侦听器来管理这一切?
** 编辑 - 示例 2 ** 如果我有一个包含 2 个 JPanel 的 JFrame,并且我想要在 Panel1 中使用一个按钮来更改 Panel2 中的标签,该怎么办?
I'm building a rich client application based on Swing. And I'm wondering what is the best architecture for event's handling.
My classes are :
- MyFrame
- FirstPanel, with a jbutton
- SecondPanel with a jLabel
I start the application with a FirstPanel within a MyFrame.
Then, I add an action listener to the button in the FirstPanel, and I whant this action to (1) close the FirstPane then (2) open a new SecondPanel in the running MyFrame
How to do it ?
Edit - Example
I want to show at startup a list of users, stored in a file, then the user click on his name or click on "new user". When he clicks on "new user", a second panel appears, with a form to create a new user and store it in the file.
In this example, MyFrame is the main frame, created by the main() method.
Then the ListUsersPanel appears.
Then, the NewUserPanel appears if I click on "new user".
My question is : how do I design my classes/listeners to manage all this ?
** Edit - example 2 **
What if I have a JFrame that contains 2 JPanels, and I want a button in Panel1 that change a label in Panel2 ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在这种情况下,通常您只需使用模式 JDialog 来显示新的用户表单。新表单完成并关闭对话框后,可能需要刷新您的用户列表。
In this situation normally you just use a modal JDialog to display the new user form. Might need to refresh your list of users once the new form has been completed and the dialog is closed.