home *** CD-ROM | disk | FTP | other *** search
- package sun.print;
-
- import java.awt.FlowLayout;
- import java.awt.GridBagConstraints;
- import java.awt.GridBagLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.FocusEvent;
- import java.awt.event.FocusListener;
- import java.text.DecimalFormat;
- import javax.print.attribute.standard.PageRanges;
- import javax.swing.BorderFactory;
- import javax.swing.ButtonGroup;
- import javax.swing.JFormattedTextField;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JRadioButton;
- import javax.swing.text.NumberFormatter;
-
- class ServiceDialog$PrintRangePanel extends JPanel implements ActionListener, FocusListener {
- private final String strTitle;
- private final PageRanges prAll;
- private JRadioButton rbAll;
- private JRadioButton rbPages;
- private JRadioButton rbSelect;
- private JFormattedTextField tfRangeFrom;
- private JFormattedTextField tfRangeTo;
- private JLabel lblRangeTo;
- private boolean prSupported;
- // $FF: synthetic field
- final ServiceDialog this$0;
-
- public ServiceDialog$PrintRangePanel(ServiceDialog var1) {
- this.this$0 = var1;
- this.strTitle = ServiceDialog.getMsg("border.printrange");
- this.prAll = new PageRanges(1, Integer.MAX_VALUE);
- GridBagLayout var2 = new GridBagLayout();
- GridBagConstraints var3 = new GridBagConstraints();
- this.setLayout(var2);
- this.setBorder(BorderFactory.createTitledBorder(this.strTitle));
- var3.fill = 1;
- var3.insets = ServiceDialog.access$700();
- var3.gridwidth = 0;
- ButtonGroup var4 = new ButtonGroup();
- JPanel var5 = new JPanel(new FlowLayout(3));
- this.rbAll = ServiceDialog.access$1400("radiobutton.rangeall", this);
- this.rbAll.setSelected(true);
- var4.add(this.rbAll);
- var5.add(this.rbAll);
- ServiceDialog.access$300(var5, this, var2, var3);
- JPanel var6 = new JPanel(new FlowLayout(3));
- this.rbPages = ServiceDialog.access$1400("radiobutton.rangepages", this);
- var4.add(this.rbPages);
- var6.add(this.rbPages);
- DecimalFormat var7 = new DecimalFormat("####0");
- var7.setMinimumFractionDigits(0);
- var7.setMaximumFractionDigits(0);
- var7.setMinimumIntegerDigits(0);
- var7.setMaximumIntegerDigits(5);
- var7.setParseIntegerOnly(true);
- var7.setDecimalSeparatorAlwaysShown(false);
- NumberFormatter var8 = new NumberFormatter(var7);
- var8.setMinimum(new Integer(1));
- var8.setMaximum(new Integer(Integer.MAX_VALUE));
- var8.setAllowsInvalid(true);
- var8.setCommitsOnValidEdit(true);
- this.tfRangeFrom = new JFormattedTextField(var8);
- this.tfRangeFrom.setColumns(4);
- this.tfRangeFrom.setEnabled(false);
- this.tfRangeFrom.addActionListener(this);
- this.tfRangeFrom.addFocusListener(this);
- this.tfRangeFrom.setFocusLostBehavior(3);
- this.tfRangeFrom.getAccessibleContext().setAccessibleName(ServiceDialog.getMsg("radiobutton.rangepages"));
- var6.add(this.tfRangeFrom);
- this.lblRangeTo = new JLabel(ServiceDialog.getMsg("label.rangeto"));
- this.lblRangeTo.setEnabled(false);
- var6.add(this.lblRangeTo);
-
- NumberFormatter var9;
- try {
- var9 = (NumberFormatter)var8.clone();
- } catch (CloneNotSupportedException var11) {
- var9 = new NumberFormatter();
- }
-
- this.tfRangeTo = new JFormattedTextField(var9);
- this.tfRangeTo.setColumns(4);
- this.tfRangeTo.setEnabled(false);
- this.tfRangeTo.addFocusListener(this);
- this.tfRangeTo.getAccessibleContext().setAccessibleName(ServiceDialog.getMsg("label.rangeto"));
- var6.add(this.tfRangeTo);
- ServiceDialog.access$300(var6, this, var2, var3);
- }
-
- public void actionPerformed(ActionEvent var1) {
- Object var2 = var1.getSource();
- SunPageSelection var3 = SunPageSelection.ALL;
- this.setupRangeWidgets();
- if (var2 == this.rbAll) {
- ServiceDialog.access$1200(this.this$0).add(this.prAll);
- } else if (var2 == this.rbSelect) {
- var3 = SunPageSelection.SELECTION;
- } else if (var2 == this.rbPages || var2 == this.tfRangeFrom || var2 == this.tfRangeTo) {
- this.updateRangeAttribute();
- var3 = SunPageSelection.RANGE;
- }
-
- if (ServiceDialog.access$1500(this.this$0)) {
- ServiceDialog.access$1200(this.this$0).add(var3);
- }
-
- }
-
- public void focusLost(FocusEvent var1) {
- Object var2 = var1.getSource();
- if (var2 == this.tfRangeFrom || var2 == this.tfRangeTo) {
- this.updateRangeAttribute();
- }
-
- }
-
- public void focusGained(FocusEvent var1) {
- }
-
- private void setupRangeWidgets() {
- boolean var1 = this.rbPages.isSelected() && this.prSupported;
- this.tfRangeFrom.setEnabled(var1);
- this.tfRangeTo.setEnabled(var1);
- this.lblRangeTo.setEnabled(var1);
- }
-
- private void updateRangeAttribute() {
- String var1 = this.tfRangeFrom.getText();
- String var2 = this.tfRangeTo.getText();
-
- int var3;
- try {
- var3 = Integer.parseInt(var1);
- } catch (NumberFormatException var7) {
- var3 = 1;
- }
-
- int var4;
- try {
- var4 = Integer.parseInt(var2);
- } catch (NumberFormatException var6) {
- var4 = var3;
- }
-
- if (var3 < 1) {
- var3 = 1;
- this.tfRangeFrom.setValue(new Integer(1));
- }
-
- if (var4 < var3) {
- var4 = var3;
- this.tfRangeTo.setValue(new Integer(var3));
- }
-
- PageRanges var5 = new PageRanges(var3, var4);
- ServiceDialog.access$1200(this.this$0).add(var5);
- }
-
- public void updateInfo() {
- Class var1 = PageRanges.class;
- this.prSupported = false;
- if (ServiceDialog.access$400(this.this$0).isAttributeCategorySupported(var1) || ServiceDialog.access$1500(this.this$0)) {
- this.prSupported = true;
- }
-
- SunPageSelection var2 = SunPageSelection.ALL;
- int var3 = 1;
- int var4 = 1;
- PageRanges var5 = (PageRanges)ServiceDialog.access$1200(this.this$0).get(var1);
- if (var5 != null && !var5.equals(this.prAll)) {
- var2 = SunPageSelection.RANGE;
- int[][] var6 = var5.getMembers();
- if (var6.length > 0 && var6[0].length > 1) {
- var3 = var6[0][0];
- var4 = var6[0][1];
- }
- }
-
- if (ServiceDialog.access$1500(this.this$0)) {
- var2 = (SunPageSelection)ServiceDialog.access$1200(this.this$0).get(SunPageSelection.class);
- }
-
- if (var2 == SunPageSelection.ALL) {
- this.rbAll.setSelected(true);
- } else if (var2 != SunPageSelection.SELECTION) {
- this.rbPages.setSelected(true);
- }
-
- this.tfRangeFrom.setValue(new Integer(var3));
- this.tfRangeTo.setValue(new Integer(var4));
- this.rbAll.setEnabled(this.prSupported);
- this.rbPages.setEnabled(this.prSupported);
- this.setupRangeWidgets();
- }
- }
-