/* * EditSettings.java * * Created on September 20, 2007, 7:17 PM */ /** * * Dialog to edit settings. * * @author pquiring */ public class EditSettings extends javax.swing.JDialog { /** Creates new form EditSettings */ private EditSettings(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); setTitle("Edit Settings"); setComponentOrientation(((parent == null) ? javax.swing.JOptionPane.getRootFrame() : parent).getComponentOrientation()); if (parent != null) setLocationRelativeTo(parent); load(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { bOk = new javax.swing.JButton(); bCancel = new javax.swing.JButton(); sFontSize = new javax.swing.JSpinner(); jLabel1 = new javax.swing.JLabel(); FormListener formListener = new FormListener(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setResizable(false); addKeyListener(formListener); bOk.setMnemonic('o'); bOk.setText("OK"); bOk.addActionListener(formListener); bOk.addKeyListener(formListener); bCancel.setMnemonic('c'); bCancel.setText("Cancel"); bCancel.addActionListener(formListener); bCancel.addKeyListener(formListener); sFontSize.addChangeListener(formListener); sFontSize.addKeyListener(formListener); jLabel1.setText("Font Size"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1) .addComponent(bOk)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(bCancel) .addComponent(sFontSize, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(sFontSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(bOk) .addComponent(bCancel)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); pack(); } // Code for dispatching events from components to event handlers. private class FormListener implements java.awt.event.ActionListener, java.awt.event.KeyListener, javax.swing.event.ChangeListener { FormListener() {} public void actionPerformed(java.awt.event.ActionEvent evt) { if (evt.getSource() == bOk) { EditSettings.this.bOkActionPerformed(evt); } else if (evt.getSource() == bCancel) { EditSettings.this.bCancelActionPerformed(evt); } } public void keyPressed(java.awt.event.KeyEvent evt) { if (evt.getSource() == EditSettings.this) { EditSettings.this.anykey(evt); } else if (evt.getSource() == bOk) { EditSettings.this.anykey(evt); } else if (evt.getSource() == bCancel) { EditSettings.this.anykey(evt); } else if (evt.getSource() == sFontSize) { EditSettings.this.anykey(evt); } } public void keyReleased(java.awt.event.KeyEvent evt) { } public void keyTyped(java.awt.event.KeyEvent evt) { } public void stateChanged(javax.swing.event.ChangeEvent evt) { if (evt.getSource() == sFontSize) { EditSettings.this.sFontSizeStateChanged(evt); } } }// </editor-fold>//GEN-END:initComponents private void anykey(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_anykey int keyCode = evt.getKeyCode(); int mods = evt.getModifiers(); if (keyCode == java.awt.event.KeyEvent.VK_ESCAPE && mods == 0) { bCancelActionPerformed(null); } if (keyCode == java.awt.event.KeyEvent.VK_ENTER && mods == 0) { bOkActionPerformed(null); } }//GEN-LAST:event_anykey private void sFontSizeStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_sFontSizeStateChanged int tmp = ((Integer)sFontSize.getValue()).intValue(); if (tmp < MIN_FONTSIZE) sFontSize.setValue(MIN_FONTSIZE); if (tmp > MAX_FONTSIZE) sFontSize.setValue(MAX_FONTSIZE); }//GEN-LAST:event_sFontSizeStateChanged private void bCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bCancelActionPerformed dispose(); }//GEN-LAST:event_bCancelActionPerformed private void bOkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bOkActionPerformed save(); dispose(); }//GEN-LAST:event_bOkActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton bCancel; private javax.swing.JButton bOk; private javax.swing.JLabel jLabel1; private javax.swing.JSpinner sFontSize; // End of variables declaration//GEN-END:variables private static final int MIN_FONTSIZE = 8; private static final int MAX_FONTSIZE = 24; private static final int MIN_TABSIZE = 2; private static final int MAX_TABSIZE = 8; public static void editSettings(java.awt.Frame parent) { EditSettings dialog = new EditSettings(parent, true); dialog.setVisible(true); } private void load() { sFontSize.setValue(Settings.fontSize); } private void save() { Settings.fontSize = ((Integer)sFontSize.getValue()).intValue(); } }