package jmathlib.ui.swing; import javax.swing.*; import java.awt.*; /** Panel that allows the user to change the application properties * TODO: Make this look nicer. Internationalise the strings. */ public class ConfigurationPanel extends JPanel { /** * */ JLabel jLabel1 = new JLabel("Session History Count"); JLabel jLabel2 = new JLabel("Session History Item Count"); JLabel jLabel4 = new JLabel("Current Working Directory"); JTextField jTextField1 = new JTextField("Session History Count"); JTextField jTextField2 = new JTextField("Session History Item Count"); JTextField jTextField4 = new JTextField("Current Working Directory"); public ConfigurationPanel() { initialiseGUI(); } private void initialiseGUI() { setLayout(new GridBagLayout()); JLabel label1 = new JLabel("Session History Count"); GridBagConstraints cons = new GridBagConstraints(); cons.anchor = GridBagConstraints.WEST; cons.gridx = 0; cons.gridy = 0; //cons.gridwidth = 2; cons.weighty = 0.1; add(label1, cons); ApplicationConfiguration config = ApplicationConfiguration.getInstance(); String count = config.getProperty(ApplicationConfiguration.SESSION_HISTORY_SESSIONCOUNT_PROPERTY); JTextField textfield1 = new JTextField(count); textfield1.setColumns(3); cons.gridx = 1; cons.gridy = 0; //cons.gridwidth = 2; cons.weighty = 0.1; add(textfield1, cons); JLabel label2 = new JLabel("Session History Item Count"); cons.gridx = 0; cons.gridy = 1; //cons.gridwidth = 2; cons.weighty = 0.1; add(label2, cons); String item = config.getProperty(ApplicationConfiguration.SESSION_HISTORY_SESSIONCMDCOUNT_PROPERTY); JTextField textfield2 = new JTextField(item); textfield2.setColumns(3); cons.gridx = 1; cons.gridy = 1; //cons.gridwidth = 2; cons.weighty = 0.1; add(textfield2, cons); JLabel label3 = new JLabel("Search Path"); cons.gridx = 0; cons.gridy = 2; //cons.gridwidth = 2; cons.weighty = 0.1; add(label3, cons); String search = config.getProperty(ApplicationConfiguration.SEARCH_PATH_PROPERTY); JTextField textfield3 = new JTextField(search); textfield3.setColumns(20); cons.gridx = 1; cons.gridy = 2; //cons.gridwidth = 2; cons.weighty = 0.1; add(textfield3, cons); JLabel label4 = new JLabel("Current Working Directory"); cons.gridx = 0; cons.gridy = 3; //cons.gridwidth = 2; cons.weighty = 0.1; add(label4, cons); String directory = config.getProperty(ApplicationConfiguration.CURRENT_WORKING_DIRECTORY_PROPERTY); JTextField textfield4 = new JTextField(directory); textfield4.setColumns(20); cons.gridx = 1; cons.gridy = 3; //cons.gridwidth = 2; cons.weighty = 0.1; add(textfield4, cons); } public int getSessionHistoryCount() { return Integer.parseInt(jTextField1.getText()); } public void setSessionHistoryCount(int count) { jTextField1.setText(Integer.toString(count)); } public int getSessionCommandCount() { return Integer.parseInt(jTextField2.getText()); } public void setSessionCommandCount(int count) { jTextField2.setText(Integer.toString(count)); } public String getCurrentWorkingDirectory() { return jTextField4.getText(); } public void setCurrentWorkingDirectory(String cwd) { jTextField4.setText(cwd); } }