1 19 20 package org.netbeans.bluej.export; 21 22 import java.io.File ; 23 import javax.swing.JFileChooser ; 24 import javax.swing.SwingUtilities ; 25 import javax.swing.event.DocumentEvent ; 26 import javax.swing.event.DocumentListener ; 27 import org.openide.filesystems.FileObject; 28 import org.openide.filesystems.FileUtil; 29 import org.openide.util.NbBundle; 30 31 35 public class ExportPanel extends javax.swing.JPanel { 36 37 38 public ExportPanel(FileObject dir, final ExportWizardPanel1 wizPanel) { 39 initComponents(); 40 txtSource.setText(dir.getPath()); 41 setName(NbBundle.getMessage(ExportPanel.class, "TIT_ExportPanel")); 42 txtFolder.getDocument().addDocumentListener(new DocumentListener () { 43 public void changedUpdate(DocumentEvent e) { 44 wizPanel.updateValue(txtFolder.getText()); 45 } 46 public void insertUpdate(DocumentEvent e) { 47 wizPanel.updateValue(txtFolder.getText()); 48 } 49 public void removeUpdate(DocumentEvent e) { 50 wizPanel.updateValue(txtFolder.getText()); 51 } 52 }); 53 } 54 55 60 private void initComponents() { 62 lblWarning = new javax.swing.JLabel (); 63 lblFolder = new javax.swing.JLabel (); 64 txtFolder = new javax.swing.JTextField (); 65 btnFolder = new javax.swing.JButton (); 66 lblSource = new javax.swing.JLabel (); 67 txtSource = new javax.swing.JTextField (); 68 lblWarning2 = new javax.swing.JLabel (); 69 70 lblWarning.setText(org.openide.util.NbBundle.getMessage(ExportPanel.class, "LBL_Warning")); 71 lblWarning.setVerticalAlignment(javax.swing.SwingConstants.TOP); 72 73 lblFolder.setLabelFor(lblFolder); 74 lblFolder.setText(org.openide.util.NbBundle.getMessage(ExportPanel.class, "LBL_Folder")); 75 76 btnFolder.setText(org.openide.util.NbBundle.getMessage(ExportPanel.class, "BTN_Folder")); 77 btnFolder.addActionListener(new java.awt.event.ActionListener () { 78 public void actionPerformed(java.awt.event.ActionEvent evt) { 79 btnFolderActionPerformed(evt); 80 } 81 }); 82 83 lblSource.setLabelFor(txtSource); 84 lblSource.setText(org.openide.util.NbBundle.getMessage(ExportPanel.class, "LBL_Source")); 85 86 txtSource.setEditable(false); 87 txtSource.setEnabled(false); 88 89 lblWarning2.setText(org.openide.util.NbBundle.getMessage(ExportPanel.class, "LBL_Warning2")); 90 91 org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this); 92 this.setLayout(layout); 93 layout.setHorizontalGroup( 94 layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) 95 .add(layout.createSequentialGroup() 96 .addContainerGap() 97 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) 98 .add(lblWarning) 99 .add(layout.createSequentialGroup() 100 .add(lblSource) 101 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) 102 .add(txtSource, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 518, Short.MAX_VALUE)) 103 .add(layout.createSequentialGroup() 104 .add(lblFolder) 105 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) 106 .add(txtFolder, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 413, Short.MAX_VALUE) 107 .add(12, 12, 12) 108 .add(btnFolder, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 92, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) 109 .add(lblWarning2)) 110 .addContainerGap()) 111 ); 112 layout.setVerticalGroup( 113 layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) 114 .add(layout.createSequentialGroup() 115 .addContainerGap() 116 .add(lblWarning) 117 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) 118 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) 119 .add(lblSource) 120 .add(txtSource, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) 121 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) 122 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) 123 .add(lblFolder) 124 .add(txtFolder, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) 125 .add(btnFolder)) 126 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) 127 .add(lblWarning2) 128 .addContainerGap(178, Short.MAX_VALUE)) 129 ); 130 } 132 private void btnFolderActionPerformed(java.awt.event.ActionEvent evt) { JFileChooser chooser = new JFileChooser (); 134 FileUtil.preventFileChooserSymlinkTraversal(chooser, null); 135 chooser.setFileSelectionMode( JFileChooser.DIRECTORIES_ONLY ); 136 chooser.setMultiSelectionEnabled( false ); 137 int option = chooser.showOpenDialog( SwingUtilities.getWindowAncestor( this ) ); if (txtFolder.getText().length() > 0) { 139 chooser.setCurrentDirectory(new File (txtFolder.getText().trim())); 140 } 141 if ( option == JFileChooser.APPROVE_OPTION ) { 142 143 File file = chooser.getSelectedFile(); 144 txtFolder.setText(FileUtil.normalizeFile(file).getAbsolutePath()); 145 } 146 147 } 149 150 private javax.swing.JButton btnFolder; 152 private javax.swing.JLabel lblFolder; 153 private javax.swing.JLabel lblSource; 154 private javax.swing.JLabel lblWarning; 155 private javax.swing.JLabel lblWarning2; 156 private javax.swing.JTextField txtFolder; 157 private javax.swing.JTextField txtSource; 158 160 } 161 | Popular Tags |