在这里,我有一个JPanel
JLabels
和JTextfields
以及一些JButtons
。如果一个JTextfield
是从用户获取数据并单击搜索按钮,则应从数据库中获取相关数据并在同一面板中显示结果。当我点击提交按钮。我发现我的屏幕没有变化,但是当我调整框架大小时,我可以看到前一个面板后面的更新面板。即使我尝试remove(rp)
,然后添加与上面相同的结果。
如何用更新的内容替换JPanel?
P.S:我想删除并添加包含更新内容的相同面板
我的代码在替换
时看起来像这样private void rp_validate(){
f.add(rp);
f.revalidate();
f.repaint();
f.pack();
}
答案 0 :(得分:1)
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
}