gpt4 book ai didi

java JFrame更新修改了另一个JFrame

转载 作者:行者123 更新时间:2023-12-01 19:22:02 25 4
gpt4 key购买 nike

我有一个屏幕 (JFrame),它从文件中获取一些初始人口。但是,如果由于某种原因该文件缺失或填充不正确,则许多字段将被阻止为不可编辑,并且用户被迫单击设置按钮,这会生成另一个 JFrame 屏幕。如果用户随后正确更新文件,我希望用新文件数据重新填充原始屏幕,可以这样做吗?

所以我有一个设置按钮的 Action 监听器,它调用 Java 类“设置”。 “设置”有一个按钮“完成”,它将激活数据库/文件更新,成功更新/将解锁原始框架

    btnSettings.setText("Settings");
btnSettings.setFont(font4);
btnSettings.setBounds(new Rectangle(15, 515, 140, 40));
btnSettings.setToolTipText("Default Settings");
btnSettings.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
settingsPerformed();
}
}) ;

private void settingsPerformed() {

JFrame settings = new Settings();
settings.setVisible(true);
}

然后是一个新的设置类

公共(public)类设置扩展了JFrame 实现 ActionListener {

private.....         
public Settings() {

this.getContentPane().setLayout(null);
this.setSize(new Dimension(450, 340));
this.setTitle("Default Settings");

this.setBackground(new Color(255, 247, 214));
this.setResizable(true);
this.setFont(font1);

pnlSettingsData.setBounds(new Rectangle(10, 10, 405, 285));
pnlSettingsData.setBorder(BorderFactory.createLineBorder(Color.blue, 1));
pnlSettingsData.setName("Settings");
pnlSettingsData.setLayout(null);


btnDone.setText("Done");
btnDone.setFont(font3);
btnDone.setBounds(new Rectangle(100, 250, 73, 20));
btnDone.setToolTipText("Click when ready for updating");
btnDone.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
doneActionPerformed(evt);
setVisible(false) ;
}
});


this.getContentPane().add(pnlSettingsData, null);
setDefaultCloseOperation(HIDE_ON_CLOSE);
setLocation(150,200);
//pack();
setVisible(true);
}


private void doneActionPerformed(ActionEvent evt) {

// include here the data base updates
}

public void actionPerformed(ActionEvent e) {
}

}

最佳答案

你可以...

  1. 使用模态 JDialog 收集用户的信息,当它关闭时,您可以从当前帧重新加载文件。
  2. 允许第一帧注册一个监听第二帧的 Action ,当调用第二帧时(大概是当用户单击接受按钮时),您将重新加载文件并更新 UI

关于java JFrame更新修改了另一个JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59347964/

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