Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.Component;
- import java.awt.Dialog.ModalityType;
- import java.awt.Dimension;
- import java.awt.Point;
- import java.awt.event.ActionEvent;
- import java.awt.event.KeyEvent;
- import java.beans.PropertyChangeEvent;
- import java.beans.PropertyChangeListener;
- import javax.swing.*;
- /**
- * In reference to: How do I check the text in JTextField?
- * http://stackoverflow.com/questions/26044389/how-do-i-check-the-text-in-jtextfield
- * @author Pete
- *
- */
- public class SubmitPanelTest {
- private static void createAndShowGui() {
- final SubmitPanel submitPanel = new SubmitPanel();
- final SubmitExampleMainPanel mainPanel = new SubmitExampleMainPanel(
- submitPanel);
- JFrame frame = new JFrame("Command");
- frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
- frame.getContentPane().add(mainPanel);
- frame.pack();
- frame.setLocationRelativeTo(null);
- frame.setVisible(true);
- JDialog dialog = new JDialog(frame, "Submit Command",
- ModalityType.MODELESS);
- dialog.getContentPane().add(submitPanel);
- dialog.pack();
- dialog.setLocationRelativeTo(frame);
- Point p = frame.getLocation();
- int locX = p.x + 50;
- int locY = p.y + 150;
- dialog.setLocation(locX, locY);
- dialog.setVisible(true);
- submitPanel.addPropertyChangeListener(new PropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- if (SubmitPanel.SUBMIT.equals(evt.getPropertyName())) {
- Object submit = evt.getNewValue();
- if (submit == null) {
- return;
- }
- System.out.println("Submit String = " + submit);
- }
- }
- });
- }
- public static void main(String[] args) {
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- createAndShowGui();
- }
- });
- }
- }
- @SuppressWarnings("serial")
- class SubmitExampleMainPanel extends JPanel {
- private StatusBarPanel statusbar = new StatusBarPanel();
- public SubmitExampleMainPanel(SubmitPanel submitPanel) {
- JPanel southPanel = new JPanel();
- southPanel.setLayout(new BoxLayout(southPanel, BoxLayout.LINE_AXIS));
- southPanel.add(statusbar);
- southPanel.add(new JButton(new ExitAction("Exit", KeyEvent.VK_X)));
- setLayout(new BorderLayout());
- add(southPanel, BorderLayout.PAGE_END);
- add(Box.createRigidArea(new Dimension(400, 300)));
- submitPanel.addPropertyChangeListener(SubmitPanel.SUBMIT,
- new SubmitListener());
- }
- private class SubmitListener implements PropertyChangeListener {
- @Override
- public void propertyChange(PropertyChangeEvent pcEvt) {
- Object newValue = pcEvt.getNewValue();
- if (newValue != null) {
- String command = newValue.toString();
- statusbar.setCommandText(command);
- }
- }
- }
- }
- @SuppressWarnings("serial")
- class StatusBarPanel extends JPanel {
- private static final int COLUMNS = 20;
- private JTextField commandField = new JTextField(COLUMNS);
- public StatusBarPanel() {
- commandField.setEditable(false);
- commandField.setFocusable(false);
- add(new JLabel("Current Command:"));
- add(commandField);
- }
- public void setCommandText(String commandText) {
- commandField.setText(commandText);
- }
- }
- @SuppressWarnings("serial")
- class SubmitPanel extends JPanel {
- public static final String SUBMIT = "submit";
- private static final int COLUMNS = 40;
- private String submit = "";
- private JTextField submitField = new JTextField(COLUMNS);
- public SubmitPanel() {
- SubmitAction submitAction = new SubmitAction("Submit", KeyEvent.VK_S);
- submitField.addActionListener(submitAction);
- add(submitField);
- add(new JButton(submitAction));
- add(new JButton(new ExitAction("Exit", KeyEvent.VK_X)));
- }
- private class SubmitAction extends AbstractAction {
- public SubmitAction(String name, int mnemonic) {
- super(name);
- putValue(MNEMONIC_KEY, mnemonic);
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- setSubmit(submitField.getText());
- submitField.selectAll();
- submitField.requestFocusInWindow();
- }
- }
- public String getSubmit() {
- return submit;
- }
- public void setSubmit(String submit) {
- String oldValue = this.submit;
- String newValue = submit;
- this.submit = newValue;
- firePropertyChange(SUBMIT, oldValue, newValue);
- }
- }
- @SuppressWarnings("serial")
- class ExitAction extends AbstractAction {
- public ExitAction(String name, int mnemonic) {
- super(name);
- putValue(MNEMONIC_KEY, mnemonic);
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- Component comp = (Component) e.getSource();
- java.awt.Window win = SwingUtilities.getWindowAncestor(comp);
- win.dispose();
- }
- }
Add Comment
Please, Sign In to add comment