我有一个主框架:JFrame>contentFrame>ScrollPane>BigPanel>panel_1T
private JPanel contentPane;
private JPanel BigPanel;
private JPanel panel_1T;
在 panel_1T 中,我放置了一个带有操作监听器的 FOOD 按钮:
JButton button_19 = new JButton("FOOD");
button_19.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
newFoodUI nf = new newFoodUI();//Open other class
nf.setVisible(true);
nf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
});
panel_1T.setLayout(new GridLayout(0, 2, 0, 0));
panel_1T.add(button_19);
当用户单击 FOOD 按钮时,将显示 newFoodUI
类中的新 JFrame:
JFrame>contentPane>面板>tabbedPane>panel_3>panel_5
在 panel_5 中,我放置了一个 JTextField:
public static JTextField textField_3;
textField_3 = new JTextField();
panel_5.add(textField_3, "9, 4, fill, default");
textField_3.setColumns(10);
用户将一些文本写入textField_3
。然后用户单击 panel_3 中的“SAVE”按钮,它将执行以下操作:
JButton button_4 = new JButton("SAVE");
button_4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setContentPane(contentPane);
panel_3.revalidate();
panel_3.repaint();
panel_3.updateUI();
panel_5.revalidate();
panel_5.repaint();
panel_5.updateUI();
contentPane.revalidate();
contentPane.repaint();
JOptionPane.showMessageDialog(null, "Saved !");
}
});
button_4.setBounds(873, 396, 75, 33);
contentPane.add(button_4);
}
结果是,当我单击 SAVE 按钮并关闭 newFoodUI 中的 Frame 时,我将通过单击 FOOD 按钮重新打开以检查我编写的文本是否已保存。但它没有保存我写的文本。
最佳答案
您必须保存 textfield textField_3.getText()
中的值,并在显示 textField_3.setText(value)
时手动将此值设置为 textfeld。因此,您必须将您的值(value)保留在项目中或持久存储在某个地方。
关于java - 单击“保存”按钮后如何更新 JTextfield,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31652594/