Re: How to save a new data file inside the executable JAR package?
JTL.zheng wrote:
I think the Preferences class is useful for me.
can you give me some codes about how to save data to Windows'
register?
and how to get the data back?
<sscce>
import java.awt.Point;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import java.util.prefs.Preferences;
class MemoryFrame extends JFrame {
MemoryFrame() {
super("MemoryFrame");
JTextArea ta = new JTextArea( "Remembers location.." );
getContentPane().add(ta);
pack();
setSize(400,300);
// probably better to use the systemNodeForPackage(this)
// form here, but since this class is in the default
// package, I'll go with the root prefs.
final Preferences prefs = Preferences.systemRoot();
int x, y;
Integer xObj = prefs.getInt( "MemoryFrame.x", 50 );
Integer yObj = prefs.getInt( "MemoryFrame.y", 50 );
x = xObj.intValue();
y = yObj.intValue();
setLocation(x,y);
this.addWindowListener( new WindowAdapter() {
public void windowClosing(WindowEvent we) {
Point location = getLocation();
prefs.putInt(
"MemoryFrame.x",
new Integer(location.x) );
prefs.putInt(
"MemoryFrame.y",
new Integer(location.y) );
System.exit(0);
}
} );
}
public static void main(String[] args) {
Thread t = new Thread() {
public void run() {
MemoryFrame frame = new MemoryFrame();
frame.setVisible(true);
}
};
SwingUtilities.invokeLater( t );
}
}
</sscce>
--
Andrew Thompson
http://www.athompson.info/andrew/
Message posted via http://www.javakb.com