如何退出 JFrame 并将数据保持在相同位置?

How to exit JFrame and keep data in the same positions?

package dragbutton_test;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class DragButton_test extends JButton{

    private int draggedAtX, draggedAtY;

    public DragButton_test(String text){
        super(text);
        setDoubleBuffered(false);

        addMouseListener(new MouseAdapter() {
            @Override
            public void mousePressed(MouseEvent e){
                draggedAtX = e.getX();
                draggedAtY = e.getY();
            }
        });

        addMouseMotionListener(new MouseMotionAdapter(){
            @Override
            public void mouseDragged(MouseEvent e){
                setLocation(e.getX() - draggedAtX + getLocation().x,
                            e.getY() - draggedAtY + getLocation().y);       
            }
        });
    }

    public static void main(String[] args) {

        JFrame frame = new JFrame();

        JButton button = new JButton("Save");
        button.setBounds(300, 480, 75, 25);
        frame.add(button);

        DragButton_test one = new DragButton_test("Michael");
        one.setBounds(0, 10, 85, 25);
        frame.getContentPane().add(one);

        DragButton_test two = new DragButton_test("Bob");
        two.setBounds(0, 40, 85, 25);
        frame.getContentPane().add(two);

        DragButton_test three = new DragButton_test("Joe");
        three.setBounds(0, 70, 85, 25);
        frame.getContentPane().add(three);

        frame.setResizable(false);
        frame.setLayout(null);
        frame.getContentPane(); 
        frame.setSize(700, 600);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

我需要JFrame中的保存按钮来保存用户的位置 最后移动按钮。所以每次程序都是运行, 按钮与之前的坐标相同 我不确定这是否可行,但是如果你能修复它就太棒了 }

有很多方法可以做到。使用 ObjectOutputSteam and ObjectInputStream is my personal favorite. This tutorial 解释了如何使用它们。

或者您也可以简单地写入和读取文本文件。虽然我怀疑它是否有效。

祝你编码顺利。