|
What this is
Other links
The source code
/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2003 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.apache.tools.ant.module.bridge.impl;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.input.InputHandler;
import org.apache.tools.ant.input.InputRequest;
import org.apache.tools.ant.input.MultipleChoiceInputRequest;
import org.openide.DialogDescriptor;
import org.openide.DialogDisplayer;
import org.openide.NotifyDescriptor;
import org.openide.util.HelpCtx;
import org.openide.util.NbBundle;
/**
* @author David Konecny, Dusan Balek, Jesse Glick
*/
final class NbInputHandler implements InputHandler {
private JComboBox combo = null;
private JTextField input = null;
public void handleInput(InputRequest request) throws BuildException {
// #30196 - for one Ant script containing several tasks there will be created
// just one instance of the NbInputHandler. So it is necessary to cleanup the instance
// used by the previous task first.
combo = null;
input = null;
JPanel panel = createPanel(request);
DialogDescriptor dlg = new DialogDescriptor(panel,
NbBundle.getMessage(NbInputHandler.class, "TITLE_input_handler")); //NOI18N
do {
DialogDisplayer.getDefault().createDialog(dlg).setVisible(true);
if (dlg.getValue() != NotifyDescriptor.OK_OPTION) {
throw new BuildException(NbBundle.getMessage(NbInputHandler.class, "MSG_input_aborted")); //NOI18N
}
String value;
if (combo != null) {
value = (String) combo.getSelectedItem();
} else {
value = input.getText();
}
request.setInput(value);
} while (!request.isInputValid());
}
private JPanel createPanel(InputRequest request) {
JPanel pane = new JPanel();
pane.setLayout(new GridBagLayout());
JLabel jLabel1 = new javax.swing.JLabel(request.getPrompt());
GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(12, 12, 11, 6);
pane.add(jLabel1, gridBagConstraints);
JComponent comp = null;
if (request instanceof MultipleChoiceInputRequest) {
combo = new javax.swing.JComboBox(((MultipleChoiceInputRequest)request).getChoices());
comp = combo;
} else {
input = new JTextField(25);
comp = input;
}
comp.getAccessibleContext().setAccessibleDescription(
NbBundle.getMessage(NbInputHandler.class, "ACSD_input_handler")); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(12, 6, 11, 6);
pane.add(comp, gridBagConstraints);
jLabel1.setLabelFor(comp);
if (request.getPrompt().length() > 0)
jLabel1.setDisplayedMnemonic(request.getPrompt().charAt(0));
pane.getAccessibleContext().setAccessibleName(
NbBundle.getMessage(NbInputHandler.class, "TITLE_input_handler")); // NOI18N
pane.getAccessibleContext().setAccessibleDescription(
NbBundle.getMessage(NbInputHandler.class, "ACSD_input_handler")); // NOI18N
HelpCtx.setHelpIDString(pane, "org.apache.tools.ant.module.run.NBInputHandler"); // NOI18N
return pane;
}
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.