1 19 20 21 package org.netbeans.modules.image; 22 23 24 import javax.swing.JPanel ; 25 import javax.swing.text.AttributeSet ; 26 import javax.swing.text.BadLocationException ; 27 import javax.swing.text.PlainDocument ; 28 29 import org.openide.util.NbBundle; 30 31 32 36 public class CustomZoomPanel extends JPanel { 37 38 39 public CustomZoomPanel() { 40 initComponents(); 41 initAccessibility(); 42 } 43 44 45 50 private void initComponents() { 52 java.awt.GridBagConstraints gridBagConstraints; 53 54 enlargeLabel = new javax.swing.JLabel (); 55 enlargeText = new javax.swing.JTextField (); 56 decreasingLabel = new javax.swing.JLabel (); 57 decreaseText = new javax.swing.JTextField (); 58 59 setLayout(new java.awt.GridBagLayout ()); 60 61 enlargeLabel.setLabelFor(enlargeText); 62 org.openide.awt.Mnemonics.setLocalizedText(enlargeLabel, NbBundle.getBundle(CustomZoomPanel.class).getString("LBL_EnlargeFactor")); gridBagConstraints = new java.awt.GridBagConstraints (); 64 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 65 gridBagConstraints.insets = new java.awt.Insets (12, 12, 0, 0); 66 add(enlargeLabel, gridBagConstraints); 67 68 enlargeText.setDocument(new WholeNumberDocument()); 69 gridBagConstraints = new java.awt.GridBagConstraints (); 70 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 71 gridBagConstraints.weightx = 1.0; 72 gridBagConstraints.insets = new java.awt.Insets (12, 11, 0, 11); 73 add(enlargeText, gridBagConstraints); 74 75 decreasingLabel.setLabelFor(decreaseText); 76 org.openide.awt.Mnemonics.setLocalizedText(decreasingLabel, NbBundle.getBundle(CustomZoomPanel.class).getString("LBL_DecreaseFactor")); gridBagConstraints = new java.awt.GridBagConstraints (); 78 gridBagConstraints.gridx = 0; 79 gridBagConstraints.gridy = 1; 80 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 81 gridBagConstraints.insets = new java.awt.Insets (5, 12, 11, 0); 82 add(decreasingLabel, gridBagConstraints); 83 84 decreaseText.setDocument(new WholeNumberDocument()); 85 gridBagConstraints = new java.awt.GridBagConstraints (); 86 gridBagConstraints.gridx = 1; 87 gridBagConstraints.gridy = 1; 88 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 89 gridBagConstraints.weightx = 1.0; 90 gridBagConstraints.insets = new java.awt.Insets (5, 11, 11, 11); 91 add(decreaseText, gridBagConstraints); 92 } 94 private void initAccessibility(){ 95 getAccessibleContext().setAccessibleDescription(NbBundle.getBundle(CustomZoomPanel.class).getString("ACSD_CustomZoomPanel")); 96 enlargeText.getAccessibleContext().setAccessibleDescription(NbBundle.getBundle(CustomZoomPanel.class).getString("ACS_EnlargeText")); 97 decreaseText.getAccessibleContext().setAccessibleDescription(NbBundle.getBundle(CustomZoomPanel.class).getString("ACS_DecreaseText")); 98 99 } 100 101 public int getEnlargeFactor() { 102 return Integer.parseInt(enlargeText.getText()); 103 } 104 105 public void setEnlargeFactor(int enlargeFactor) { 106 enlargeText.setText("" + enlargeFactor); } 108 109 public int getDecreaseFactor() { 110 return Integer.parseInt(decreaseText.getText()); 111 } 112 113 public void setDecreaseFactor(int decreaseFactor) { 114 decreaseText.setText("" + decreaseFactor); } 116 117 private javax.swing.JTextField decreaseText; 119 private javax.swing.JLabel decreasingLabel; 120 private javax.swing.JLabel enlargeLabel; 121 private javax.swing.JTextField enlargeText; 122 124 125 126 private static class WholeNumberDocument extends PlainDocument { 127 128 129 public void insertString(int offs, String str, AttributeSet a) 130 throws BadLocationException { 131 char[] source = str.toCharArray(); 132 StringBuffer result = new StringBuffer (); 133 134 for(int i=0; i<source.length; i++) { 135 if(Character.isDigit(source[i])) { 136 result.append(source[i]); 137 } else { 138 if(Boolean.getBoolean("netbeans.debug.excpetions")) System.err.println("Image: Trying insert non-digit in custom zoom action."); } 141 } 142 143 if(result.length() == 0) 145 return; 146 147 super.insertString(offs, result.toString(), a); 148 } 149 150 } 152 153 } 154 | Popular Tags |