gpt4 book ai didi

java - 在另一个框架中单击按钮时,在一个框架上更新 JPanel 的内容

转载 作者:搜寻专家 更新时间:2023-11-01 01:22:33 26 4
gpt4 key购买 nike

我创建了一个框架 x1,它有一个面板 p1。加载 x1 时,复选框会动态添加到 p1。添加到 p1 的复选框的数量取决于数据库表 (t1) 中满足特定条件的数据值的数量。

框架 x1 上有一个按钮 b1。当点击b1时,它会显示另一个框架x2,其中可以修改数据库表t1的数据值。 x2 中的“更新”按钮更新 t1 以反射(reflect)对其数据值所做的更改。

修改后,当 x2 关闭时,我希望框架 x1 中的面板 p1 自动更新以反射(reflect)对数据库所做的更改,即满足条件的数据值的数量可能在修改 x2 中的 t1 后发生变化,因此,要在 p1 上显示的复选框数量也可能已更改。

如何从 x2 刷新和重新加载 x1 中面板 p1 的组件。

想知道是否有人可以帮我解决这个问题。在此先感谢您,对于问题中的文本负载,我们深表歉意。

    In x2:

private void UPDATEActionPerformed(java.awt.event.ActionEvent evt)
{
//x1 is an object of ParentFrame

ParentFrame f1=new ParentFrame();
f1.fillPanel();
//fillpanel()fills p1 with checkboxes after running validate() and repaint() on it


}

最佳答案

When b1 is clicked,it displays another frame x2 in which data values of the database table t1 can be modified

The number of checkboxes added to p1 depend on the number of data values in the database table(t1) that satisfy a particular criteria.

确保从 JPanel 中删除当前内容,然后

p1.revalidate();
p1.repaint();
  • 会起作用,不要重新创建 JPanel 的新实例,然后您必须将此 Objcet 添加到 JFrame,然后必须调用 validate() & repaint()JFrame(现在我希望你不要扩展这个容器 :-)

After modification,when x2 is closed I want the panel p1 in frame x1 to be updated automatically to reflect the changes made to the database ie the number of data values satisfying the criteria might have changed after modifictaion of t1 in x2 and hence,the number of check boxes to be displayed on p1 might have changed as well.

  • 使用 CardLayout相反

  • 不要创建两个或多个JFrames,而是使用JDialog

  • 创建 JDialog (setDefaultCloseOperation(JDialog.CLOSE...)) 仅一个实例,将此容器重新用于父级的另一个操作

关于java - 在另一个框架中单击按钮时,在一个框架上更新 JPanel 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13393167/

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