gpt4 book ai didi

java - 保存在 JFrame 中所做的更改

转载 作者:行者123 更新时间:2023-12-01 22:36:13 24 4
gpt4 key购买 nike

我有一个简单的JFrame,用户可以使用JPopupMenu更改它的背景颜色。当用户退出应用程序时,我想保存在后台所做的更改。

我尝试使用 WindowAdapter 类中的方法 windowClosing() 来处理此问题,但是当我再次启动应用程序时,我看不到之前所做的更改。我不知道问题是什么。我将不胜感激任何帮助。这是我的代码。

/*i have removed unnnecessary codes*/

public class Popupframe extends JFrame{
private JRadioButtonMenuItem[] items;
private final Color[] colorvalues={Color.BLUE,Color.YELLOW,Color.RED};
static Color bgcolor=Color.CYAN;
JRadioButtonMenuItem[] cheek;

public Popupframe() {
super("using popups");
String[] colors = {"Blue","Yellow","Red"};

setBackground(bgcolor);
addMouseListener(new Handler());
}

private class Handler extends MouseAdapter implements ActionListener {


@Override
public void actionPerformed(ActionEvent event) {
for(int i=0; i<items.length; i++) {
if(event.getSource()==items[i]) {
getContentPane().setBackground(colorvalues[i]);
bgcolor=colorvalues[i];
}
}
}
}

public static void main(String[] args) {
Popupframe frame=new Popupframe();
frame.setSize(width,height);
frame.setDefaultCloseOperation(Popupframe.DO_NOTHING_ON_CLOSE);
frame.addWindowListener(new WindowAdapter() {

@Override
public void windowClosing(WindowEvent e) {
int ok=JOptionPane.showConfirmDialog(frame,"are sure?","close",JOptionPane.WARNING_MESSAGE);
if(ok==JOptionPane.OK_OPTION) {
bgcolor=frame.getContentPane().getBackground();
System.out.println(bgcolor);
System.exit(0);
}
}
});
frame.setVisible(true);
}

最佳答案

您需要在System.exit(0)之前将颜色代码保存到文件中(例如设置文件或共享首选项),并在main中读取它并设置那个颜色代码。然后就可以正常工作了。

关于java - 保存在 JFrame 中所做的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26842842/

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