private URL[] find(FileObject file, SourceRoots from, SourceRoots to) { Project p = FileOwnerQuery.getOwner(file); if (p == null) { return null; } FileObject[] fromRoots = from.getRoots(); for (int i = 0; i < fromRoots.length; i++) { if (fromRoots[i].equals(file)) { return to.getRootURLs(); } } return null; }
/** Handles button events */ public void actionPerformed(ActionEvent e) { // only chooseMainClassButton can be performed final MainClassChooser panel = new MainClassChooser(sourceRoots.getRoots(), null, mainClassTextField.getText()); Object[] options = new Object[] {okButton, DialogDescriptor.CANCEL_OPTION}; panel.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { if (e.getSource() instanceof MouseEvent && MouseUtils.isDoubleClick(((MouseEvent) e.getSource()))) { // click button and finish the dialog with selected class okButton.doClick(); } else { okButton.setEnabled(panel.getSelectedMainClass() != null); } } }); okButton.setEnabled(false); DialogDescriptor desc = new DialogDescriptor( panel, NbBundle.getMessage(CustomizerRun.class, "LBL_ChooseMainClass_Title"), // NOI18N true, options, options[0], DialogDescriptor.BOTTOM_ALIGN, null, null); // desc.setMessageType (DialogDescriptor.INFORMATION_MESSAGE); Dialog dlg = DialogDisplayer.getDefault().createDialog(desc); dlg.setVisible(true); if (desc.getValue() == options[0]) { mainClassTextField.setText(panel.getSelectedMainClass()); } dlg.dispose(); }