home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / print / ServiceDialog$PrintRangePanel.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  5.4 KB  |  201 lines

  1. package sun.print;
  2.  
  3. import java.awt.FlowLayout;
  4. import java.awt.GridBagConstraints;
  5. import java.awt.GridBagLayout;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. import java.awt.event.FocusEvent;
  9. import java.awt.event.FocusListener;
  10. import java.text.DecimalFormat;
  11. import javax.print.attribute.standard.PageRanges;
  12. import javax.swing.BorderFactory;
  13. import javax.swing.ButtonGroup;
  14. import javax.swing.JFormattedTextField;
  15. import javax.swing.JLabel;
  16. import javax.swing.JPanel;
  17. import javax.swing.JRadioButton;
  18. import javax.swing.text.NumberFormatter;
  19.  
  20. class ServiceDialog$PrintRangePanel extends JPanel implements ActionListener, FocusListener {
  21.    private final String strTitle;
  22.    private final PageRanges prAll;
  23.    private JRadioButton rbAll;
  24.    private JRadioButton rbPages;
  25.    private JRadioButton rbSelect;
  26.    private JFormattedTextField tfRangeFrom;
  27.    private JFormattedTextField tfRangeTo;
  28.    private JLabel lblRangeTo;
  29.    private boolean prSupported;
  30.    // $FF: synthetic field
  31.    final ServiceDialog this$0;
  32.  
  33.    public ServiceDialog$PrintRangePanel(ServiceDialog var1) {
  34.       this.this$0 = var1;
  35.       this.strTitle = ServiceDialog.getMsg("border.printrange");
  36.       this.prAll = new PageRanges(1, Integer.MAX_VALUE);
  37.       GridBagLayout var2 = new GridBagLayout();
  38.       GridBagConstraints var3 = new GridBagConstraints();
  39.       this.setLayout(var2);
  40.       this.setBorder(BorderFactory.createTitledBorder(this.strTitle));
  41.       var3.fill = 1;
  42.       var3.insets = ServiceDialog.access$700();
  43.       var3.gridwidth = 0;
  44.       ButtonGroup var4 = new ButtonGroup();
  45.       JPanel var5 = new JPanel(new FlowLayout(3));
  46.       this.rbAll = ServiceDialog.access$1400("radiobutton.rangeall", this);
  47.       this.rbAll.setSelected(true);
  48.       var4.add(this.rbAll);
  49.       var5.add(this.rbAll);
  50.       ServiceDialog.access$300(var5, this, var2, var3);
  51.       JPanel var6 = new JPanel(new FlowLayout(3));
  52.       this.rbPages = ServiceDialog.access$1400("radiobutton.rangepages", this);
  53.       var4.add(this.rbPages);
  54.       var6.add(this.rbPages);
  55.       DecimalFormat var7 = new DecimalFormat("####0");
  56.       var7.setMinimumFractionDigits(0);
  57.       var7.setMaximumFractionDigits(0);
  58.       var7.setMinimumIntegerDigits(0);
  59.       var7.setMaximumIntegerDigits(5);
  60.       var7.setParseIntegerOnly(true);
  61.       var7.setDecimalSeparatorAlwaysShown(false);
  62.       NumberFormatter var8 = new NumberFormatter(var7);
  63.       var8.setMinimum(new Integer(1));
  64.       var8.setMaximum(new Integer(Integer.MAX_VALUE));
  65.       var8.setAllowsInvalid(true);
  66.       var8.setCommitsOnValidEdit(true);
  67.       this.tfRangeFrom = new JFormattedTextField(var8);
  68.       this.tfRangeFrom.setColumns(4);
  69.       this.tfRangeFrom.setEnabled(false);
  70.       this.tfRangeFrom.addActionListener(this);
  71.       this.tfRangeFrom.addFocusListener(this);
  72.       this.tfRangeFrom.setFocusLostBehavior(3);
  73.       this.tfRangeFrom.getAccessibleContext().setAccessibleName(ServiceDialog.getMsg("radiobutton.rangepages"));
  74.       var6.add(this.tfRangeFrom);
  75.       this.lblRangeTo = new JLabel(ServiceDialog.getMsg("label.rangeto"));
  76.       this.lblRangeTo.setEnabled(false);
  77.       var6.add(this.lblRangeTo);
  78.  
  79.       NumberFormatter var9;
  80.       try {
  81.          var9 = (NumberFormatter)var8.clone();
  82.       } catch (CloneNotSupportedException var11) {
  83.          var9 = new NumberFormatter();
  84.       }
  85.  
  86.       this.tfRangeTo = new JFormattedTextField(var9);
  87.       this.tfRangeTo.setColumns(4);
  88.       this.tfRangeTo.setEnabled(false);
  89.       this.tfRangeTo.addFocusListener(this);
  90.       this.tfRangeTo.getAccessibleContext().setAccessibleName(ServiceDialog.getMsg("label.rangeto"));
  91.       var6.add(this.tfRangeTo);
  92.       ServiceDialog.access$300(var6, this, var2, var3);
  93.    }
  94.  
  95.    public void actionPerformed(ActionEvent var1) {
  96.       Object var2 = var1.getSource();
  97.       SunPageSelection var3 = SunPageSelection.ALL;
  98.       this.setupRangeWidgets();
  99.       if (var2 == this.rbAll) {
  100.          ServiceDialog.access$1200(this.this$0).add(this.prAll);
  101.       } else if (var2 == this.rbSelect) {
  102.          var3 = SunPageSelection.SELECTION;
  103.       } else if (var2 == this.rbPages || var2 == this.tfRangeFrom || var2 == this.tfRangeTo) {
  104.          this.updateRangeAttribute();
  105.          var3 = SunPageSelection.RANGE;
  106.       }
  107.  
  108.       if (ServiceDialog.access$1500(this.this$0)) {
  109.          ServiceDialog.access$1200(this.this$0).add(var3);
  110.       }
  111.  
  112.    }
  113.  
  114.    public void focusLost(FocusEvent var1) {
  115.       Object var2 = var1.getSource();
  116.       if (var2 == this.tfRangeFrom || var2 == this.tfRangeTo) {
  117.          this.updateRangeAttribute();
  118.       }
  119.  
  120.    }
  121.  
  122.    public void focusGained(FocusEvent var1) {
  123.    }
  124.  
  125.    private void setupRangeWidgets() {
  126.       boolean var1 = this.rbPages.isSelected() && this.prSupported;
  127.       this.tfRangeFrom.setEnabled(var1);
  128.       this.tfRangeTo.setEnabled(var1);
  129.       this.lblRangeTo.setEnabled(var1);
  130.    }
  131.  
  132.    private void updateRangeAttribute() {
  133.       String var1 = this.tfRangeFrom.getText();
  134.       String var2 = this.tfRangeTo.getText();
  135.  
  136.       int var3;
  137.       try {
  138.          var3 = Integer.parseInt(var1);
  139.       } catch (NumberFormatException var7) {
  140.          var3 = 1;
  141.       }
  142.  
  143.       int var4;
  144.       try {
  145.          var4 = Integer.parseInt(var2);
  146.       } catch (NumberFormatException var6) {
  147.          var4 = var3;
  148.       }
  149.  
  150.       if (var3 < 1) {
  151.          var3 = 1;
  152.          this.tfRangeFrom.setValue(new Integer(1));
  153.       }
  154.  
  155.       if (var4 < var3) {
  156.          var4 = var3;
  157.          this.tfRangeTo.setValue(new Integer(var3));
  158.       }
  159.  
  160.       PageRanges var5 = new PageRanges(var3, var4);
  161.       ServiceDialog.access$1200(this.this$0).add(var5);
  162.    }
  163.  
  164.    public void updateInfo() {
  165.       Class var1 = PageRanges.class;
  166.       this.prSupported = false;
  167.       if (ServiceDialog.access$400(this.this$0).isAttributeCategorySupported(var1) || ServiceDialog.access$1500(this.this$0)) {
  168.          this.prSupported = true;
  169.       }
  170.  
  171.       SunPageSelection var2 = SunPageSelection.ALL;
  172.       int var3 = 1;
  173.       int var4 = 1;
  174.       PageRanges var5 = (PageRanges)ServiceDialog.access$1200(this.this$0).get(var1);
  175.       if (var5 != null && !var5.equals(this.prAll)) {
  176.          var2 = SunPageSelection.RANGE;
  177.          int[][] var6 = var5.getMembers();
  178.          if (var6.length > 0 && var6[0].length > 1) {
  179.             var3 = var6[0][0];
  180.             var4 = var6[0][1];
  181.          }
  182.       }
  183.  
  184.       if (ServiceDialog.access$1500(this.this$0)) {
  185.          var2 = (SunPageSelection)ServiceDialog.access$1200(this.this$0).get(SunPageSelection.class);
  186.       }
  187.  
  188.       if (var2 == SunPageSelection.ALL) {
  189.          this.rbAll.setSelected(true);
  190.       } else if (var2 != SunPageSelection.SELECTION) {
  191.          this.rbPages.setSelected(true);
  192.       }
  193.  
  194.       this.tfRangeFrom.setValue(new Integer(var3));
  195.       this.tfRangeTo.setValue(new Integer(var4));
  196.       this.rbAll.setEnabled(this.prSupported);
  197.       this.rbPages.setEnabled(this.prSupported);
  198.       this.setupRangeWidgets();
  199.    }
  200. }
  201.