1 25 26 package com.izforge.izpack.panels; 27 28 import java.awt.event.ActionEvent ; 29 import java.awt.event.ActionListener ; 30 import java.awt.GridBagConstraints ; 31 import java.awt.GridBagLayout ; 32 import java.awt.Insets ; 33 34 import javax.print.PrintServiceLookup ; 35 import javax.print.PrintService ; 36 37 import javax.swing.Box ; 38 import javax.swing.BoxLayout ; 39 import javax.swing.JComboBox ; 40 import javax.swing.JLabel ; 41 import javax.swing.JPanel ; 42 43 import com.izforge.izpack.gui.LabelFactory; 44 import com.izforge.izpack.installer.InstallData; 45 import com.izforge.izpack.installer.InstallerFrame; 46 import com.izforge.izpack.installer.IzPanel; 47 48 53 public class SelectPrinterPanel extends IzPanel implements ActionListener 54 { 55 56 59 private static final long serialVersionUID = 3257848774955905587L; 60 61 62 private JComboBox cbPrinters; 63 64 65 private InstallData iData; 66 67 73 public SelectPrinterPanel(InstallerFrame parent, InstallData id) 74 { 75 super(parent, id); 76 77 iData = id; 78 79 GridBagLayout superLayout = new GridBagLayout (); 81 setLayout(superLayout); 82 GridBagConstraints gbConstraints = new GridBagConstraints (); 83 gbConstraints.insets = new Insets (0, 0, 0, 0); 84 gbConstraints.fill = GridBagConstraints.NONE; 85 gbConstraints.anchor = GridBagConstraints.CENTER; 86 87 JPanel centerPanel = new JPanel (); 89 BoxLayout layout = new BoxLayout (centerPanel, BoxLayout.Y_AXIS); 90 centerPanel.setLayout(layout); 91 superLayout.addLayoutComponent(centerPanel, gbConstraints); 92 add(centerPanel); 93 94 cbPrinters = new JComboBox (); 95 PrintService [] pServices = PrintServiceLookup.lookupPrintServices(null, null); 96 iData.setVariable("SELECTED_PRINTER", pServices[0].getName()); 97 for (int i = 0; i < pServices.length; i++) 98 { 99 cbPrinters.addItem(pServices[i].getName()); 100 } 101 cbPrinters.addActionListener(this); 102 103 String str; 105 106 centerPanel.add(Box.createVerticalStrut(10)); 107 108 str = parent.langpack.getString("PrinterSelectPanel.select_printer"); 109 JLabel selectLabel = LabelFactory.create(str, JLabel.LEADING); 110 selectLabel.setAlignmentX(JLabel.LEADING); 111 centerPanel.add(selectLabel); 112 113 centerPanel.add(Box.createVerticalStrut(20)); 114 115 centerPanel.add(cbPrinters); 116 117 118 } 119 120 public void actionPerformed(ActionEvent event) 121 { 122 String sPrinter = (String ) cbPrinters.getSelectedItem(); 123 iData.setVariable("SELECTED_PRINTER", sPrinter); 124 } 125 126 131 public boolean isValidated() 132 { 133 return true; 134 } 135 } 136 | Popular Tags |