gpt4 book ai didi

java - 将 JPanel 替换为具有更新内容的相同内容

转载 作者:行者123 更新时间:2023-12-01 14:37:45 24 4
gpt4 key购买 nike

这里我有一个带有 JLabelsJTextfields 以及一些 JButtonsJPanel。其中一个 JTextfield 是从用户获取数据并单击搜索按钮时,它应该从数据库获取相关数据并将结果显示在同一面板中。当我点击提交按钮时。我发现屏幕没有变化,但是当我调整框架大小时,我可以看到前一个面板后面的更新后的面板。即使我尝试 remove(rp) 然后添加它,结果也与上面相同。

如何用更新内容的 JPanel 替换 JPanel?

P.S:我想删除并添加具有更新内容的相同面板

我的代码在替换时看起来像这样

private void rp_validate(){
f.add(rp);
f.revalidate();
f.repaint();
f.pack();
}

最佳答案

  1. 创建一个类来保存从数据库查询中获取的所有必要数据。
  2. 为保存 JPanel 的 GUI 类提供一个公共(public)“setter”方法,该方法接受上述类的实例。
  3. 然后在 JPanel 类内部,调用 setText(...) 传递 setter 方法参数中保存的信息,以更新 JPanel 中显示的文本。简单如馅饼。

例如:

public void setMyData(MyData myData) {
this.myData = myData;
lastNameTextField.setText(myData.getLastName());
firstNameTextField.setText(myData.getFirstName());
addressTextfield.setText(myData.getAddress());
cityTextfield.setText(myData.getCity());
stateTextfield.setText(myData.getState());
// ... etc
}

关于java - 将 JPanel 替换为具有更新内容的相同内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16322422/

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