gpt4 book ai didi

Java 多 GUI 窗口创建

转载 作者:太空宇宙 更新时间:2023-11-04 07:36:57 26 4
gpt4 key购买 nike

我使用 GridLayout(5,3) 制作了一个简单的 GUI,它是执行的操作,并且还实现了操作监听器。这些是一些根据用户提供的输入或按​​钮进行工作的计算和算法。到目前为止,一切都运行良好。

在我的代码中的某个时刻,用户会收到一条弹出消息,表明他已使用此常用方法 JOptionPane.showMessageDialog(....) 正确登录到系统。我想要的是,在他按下“确定”按钮后,创建一个弹出的附加表单,看起来与上面我用 GridLayout(5,3) 制作的表单类似,以便我的用户可以存储有关他的附加信息。

我真的无法让它工作,而且我不知道如何开始。

非常欢迎任何想法!提前干杯和感谢:)

如果添加此:

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container pane = getContentPane();
GridLayout grid=new GridLayout(10,1);
pane.setLayout(grid);

它只会向我的网格布局添加更多行。以上所有按钮和标签均保留。我怎样才能摆脱以前的标签和按钮?

最佳答案

您声明:

if add this:

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container pane = getContentPane();
GridLayout grid=new GridLayout(10,1);
pane.setLayout(grid);

it only adds more lines to my gridlayout. And all above buttons and labels remains. How can i get rid of the previous labels and buttons?

如果您想在 JFrame 上交换“ View ”,您至少有三个选择。

  • 如果您想使用具有相同 JTextComponent 的相同 GUI,但组件中没有文本,那么您需要遍历文本组件并对所有组件调用 setText("")。如果您想保留相同的 JButton 和标签但更改其文本,那么您将需要调用 setText("something else") 来遍历所有这些按钮和标签。
  • 如果您想要全新的组件来替换旧的组件,我认为最直接的方法是使用 CardLayout 来容纳包含所有组件的 JPanel。当您想要将 JPanel 交换为另一个 JPanel 时,请确保新的 JPanel 已添加到 CardLayout - 使用 JPanel,然后在 CardLayout 对象上调用 next()。
  • 另一种方法是手动交换 JFrame 的 contentPane 所持有的 JPanel,方法是在 contentPane 上调用 removeAll(),然后在其上调用 add(nextJPanel),然后 revalidate(),然后 repaint()

关于Java 多 GUI 窗口创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16719325/

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