/******************************************************************************* * openDLX - A DLX/MIPS processor simulator. * Copyright (C) 2013 The openDLX project, University of Augsburg, Germany * Project URL: <https://sourceforge.net/projects/opendlx> * Development branch: <https://github.com/smetzlaff/openDLX> * * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program, see <LICENSE>. If not, see * <http://www.gnu.org/licenses/>. ******************************************************************************/ package openDLX.gui.internalframes; import static openDLX.gui.Preference.pref; import javax.swing.JInternalFrame; public class FrameConfiguration { private JInternalFrame jif = null; //in, out private String posXPreferenceKey = "posx"; private String posYPreferenceKey = "posy"; private String sizeXPreferenceKey = "sizex"; private String sizeYPreferenceKey = "sizey"; private String isVisiblePreferenceKey = "isvisible"; public FrameConfiguration(JInternalFrame jif) { this.jif = jif; } public void saveFrameConfiguration() { String frameTitle = jif.getTitle(); pref.putInt(frameTitle + posXPreferenceKey, jif.getX()); pref.putInt(frameTitle + posYPreferenceKey, jif.getY()); pref.putInt(frameTitle + sizeXPreferenceKey, jif.getSize().width); pref.putInt(frameTitle + sizeYPreferenceKey, jif.getSize().height); pref.putBoolean(frameTitle + isVisiblePreferenceKey, jif.isVisible()); } public void loadFrameConfiguration() { jif.setBounds(pref.getInt(jif.getTitle() + posXPreferenceKey, jif.getX()), pref.getInt(jif.getTitle() + posYPreferenceKey, jif.getY()), pref.getInt(jif.getTitle() + sizeXPreferenceKey, jif.getWidth()), pref.getInt(jif.getTitle() + sizeYPreferenceKey, jif.getHeight())); try { jif.setVisible(pref.getBoolean(jif.getTitle() + isVisiblePreferenceKey, true)); } catch (Exception e) { System.err.println("failed setting JInternalFrame to visible/invisible"); e.printStackTrace(); } } }