dmolony-DiskBrowser/src/com/bytezone/diskbrowser/gui/WindowState.java

65 lines
2.3 KiB
Java

package com.bytezone.diskbrowser.gui;
import java.awt.Dimension;
import java.util.prefs.BackingStoreException;
import java.util.prefs.Preferences;
import javax.swing.JFrame;
// -----------------------------------------------------------------------------------//
class WindowState
// -----------------------------------------------------------------------------------//
{
private static final String PREF_WINDOW_WIDTH = "WindowWidth";
private static final String PREF_WINDOW_HEIGHT = "WindowHeight";
private static final String PREF_WINDOW_STATE = "WindowExtendedState";
public Preferences preferences;
// ---------------------------------------------------------------------------------//
WindowState (Preferences preferences)
// ---------------------------------------------------------------------------------//
{
this.preferences = preferences;
}
// ---------------------------------------------------------------------------------//
void clear ()
// ---------------------------------------------------------------------------------//
{
try
{
preferences.clear ();
System.out.println ("Preferences cleared");
}
catch (BackingStoreException e)
{
e.printStackTrace ();
}
}
// ---------------------------------------------------------------------------------//
Dimension getWindowSize (int defaultWidth, int defaultHeight)
// ---------------------------------------------------------------------------------//
{
int width = preferences.getInt (PREF_WINDOW_WIDTH, defaultWidth);
int height = preferences.getInt (PREF_WINDOW_HEIGHT, defaultHeight);
return new Dimension (width, height);
}
// ---------------------------------------------------------------------------------//
int getExtendedState (int defaultState)
// ---------------------------------------------------------------------------------//
{
return preferences.getInt (PREF_WINDOW_STATE, defaultState);
}
// ---------------------------------------------------------------------------------//
void save (JFrame window)
// ---------------------------------------------------------------------------------//
{
preferences.putInt (PREF_WINDOW_WIDTH, window.getWidth ());
preferences.putInt (PREF_WINDOW_HEIGHT, window.getHeight ());
preferences.putInt (PREF_WINDOW_STATE, window.getExtendedState ());
}
}