我想知道是否有办法重用一个jframe而不是新的.你可能想知道为什么.我有两个JFrame(实际上更多,但为了这个问题的目的,两个).一个包含一个单选按钮(同意)与jtextarea中的条款和条件.其他JFrame包含passwordtxtarea(密码),jtextarea(用户名)和单选按钮(阅读条款和条件),以及"TermsAnd Conditions"按钮.我忘了提到第一个jtextarea包含一个"后退"jbutton,如果我按下,我得到JFrame2,当我按"条款和条件"时,我得到JFrame1.问题是,我的代码需要点击"同意"和"阅读条款"单选按钮,但每当我按"后退"或"条款和条件"时,我输入的任何输入(用户名,密码,点击默认值以外的单选按钮)将丢失.因此,我不能继续我的计划.
我认为这与我必须制作一个新的JFrame表格有关.也许它将它恢复到默认状态?无论如何,我该如何解决这个问题?我没有看到这样的问题,所以除了"这是不可能的"之外,还有一个我无法看到的明显答案吗?
你陈述/我回复:
我想知道是否有办法重用一个jframe而不是新的.
是的,很有可能重新使用组件(问题的概括).
你可能想知道为什么.我有两个JFrame(实际上更多,但为了这个问题的目的,两个).
如上所述,这通常不是一个好主意.大多数Swing GUI应用程序只使用一个主窗口,JFrame,然后交换视图,如使用CardLayout或JTabbedPane,或显示模态或非模态对话框窗口.
一个包含一个单选按钮(同意)与jtextarea中的条款和条件.其他JFrame包含passwordtxtarea(密码),jtextarea(用户名)和单选按钮(阅读条款和条件),以及"TermsAnd Conditions"按钮.我忘了提到第一个jtextarea包含一个"背"jbutton,
对于JTextArea来说,拥有任何类型的按钮是最不寻常的.此外,没有"passwordtxtarea"这样的东西,也许你的意思是JPasswordField?如果是这样,请在此处提问时请准确说明您的条款.根据描述来猜测某个人的程序是什么样的很难,你不想让我们更难.此外,将JTextArea用于用户名字段非常不寻常,因为通常您使用的是JTextField.再一次,精确度非常重要.否则我们可能会给你错误的建议.
如果我按下,我得到JFrame2,当我按"条款和条件"时,我得到JFrame1.问题是,我的代码需要点击"同意"和"阅读条款"单选按钮,但每当我按"后退"或"条款和条件"时,我输入的任何输入(用户名,密码,单击默认值以外的单选按钮)将丢失.因此,我不能继续我的计划.
是的,您不应该在此处创建新组件,而是重新使用以前创建的组件.如果您将组件设为类字段并且确保仅创建一次,则可以执行此操作.这就是你编码的方式.
我认为这与我必须制作一个新的JFrame表格有关.也许它将它恢复到默认状态?无论如何,我该如何解决这个问题?我没有看到这样的问题,所以除了"这是不可能的"之外,还有一个我无法看到的明显答案吗?
再次,它是可能的.解决方案将取决于您的程序的结构.
一条忠告:将GUI代码用于制作JPanel,而不是JFrame.通过这种方式,您可以将它们放置在任何需要的地方 - 在JFrame,JDialog,另一个JPanel中,或者与CardLayout交换,......在任何地方.它极大地提高了程序的灵活性.
| 归档时间: |
|
| 查看次数: |
919 次 |
| 最近记录: |