Example usage for javax.swing JDialog getRootPane

List of usage examples for javax.swing JDialog getRootPane

Introduction

In this page you can find the example usage for javax.swing JDialog getRootPane.

Prototype

@BeanProperty(bound = false, hidden = true, description = "the RootPane object for this dialog.")
public JRootPane getRootPane() 

Source Link

Document

Returns the rootPane object for this dialog.

Usage

From source file:Main.java

public static void main(String[] a) {
    JDialog f = new JDialog();
    f.addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent e) {
            System.exit(0);/* ww w . j  av  a  2 s .  c  om*/
        }
    });

    JButton btOK = new JButton("Press Enter to click me, I am the default.");
    btOK.setToolTipText("Save and exit");
    f.getRootPane().setDefaultButton(btOK);

    JPanel p = new JPanel();
    p.add(btOK);
    p.add(new JButton("I am NOT the default."));
    f.getContentPane().add(p);

    f.pack();
    f.setSize(new Dimension(300, 200));

    f.setVisible(true);

}

From source file:DefaultButton.java

public static void main(String[] a) {
    JDialog f = new JDialog();
    f.addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent e) {
            System.exit(0);//from w w w  .ja v  a 2 s . c o  m
        }
    });

    JButton btOK = new JButton("Press Enter to click me, I am the default.");
    btOK.setToolTipText("Save and exit");
    f.getRootPane().setDefaultButton(btOK);

    JPanel p = new JPanel();
    p.add(btOK);
    p.add(new JButton("I am NOT the default."));
    f.getContentPane().add(p);

    f.pack();
    f.setSize(new Dimension(300, 200));

    f.show();

}

From source file:Main.java

public static void main(String[] args) {
    JDialog dialog;
    JList jlist;//from   w  w  w . ja  va 2s.c  om
    ActionListener otherListener = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            System.out.println("current");
        }
    };
    JButton okButton = new JButton("OK");
    okButton.addActionListener(e -> close(true));
    JButton cancelButton = new JButton("Cancel");
    cancelButton.addActionListener(e -> close(false));
    jlist = new JList(new String[] { "A", "B", "C", "D", "E", "F", "G" });
    jlist.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    jlist.setVisibleRowCount(5);
    JScrollPane scroll = new JScrollPane(jlist);
    JPanel buttonsPanel = new JPanel(new FlowLayout());
    buttonsPanel.add(okButton);
    buttonsPanel.add(cancelButton);
    JPanel content = new JPanel(new BorderLayout());
    content.add(scroll, BorderLayout.CENTER);
    content.add(buttonsPanel, BorderLayout.SOUTH);
    dialog = new JDialog((Frame) null, true);
    dialog.setContentPane(content);
    dialog.pack();
    dialog.getRootPane().registerKeyboardAction(otherListener, KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0),
            JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);

    dialog.getRootPane().registerKeyboardAction(otherListener, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
            JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);

    dialog.getRootPane().getInputMap().put(KeyStroke.getKeyStroke("SPACE"), "doSomething");
    dialog.getRootPane().getActionMap().put("doSomething", new AbstractAction() {
        @Override
        public void actionPerformed(ActionEvent e) {
            System.exit(0);
        }
    });
    dialog.setVisible(true);
}

From source file:Main.java

public static void closeOnEscape(final JDialog parent) {
    parent.getRootPane().getActionMap().put("close_on_escape", new AbstractAction() {
        @Override//from  w w w  . jav a2s.com
        public void actionPerformed(ActionEvent e) {
            parent.dispose();
        }
    });
    parent.getRootPane().getInputMap(JPanel.WHEN_IN_FOCUSED_WINDOW)
            .put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "close_on_escape");
}

From source file:Main.java

/**
 * Adds to the dialog a key listener that makes the dialog invisible.
 * // ww  w  .  j a va 2s.c om
 * @param dialog
 */
public static void addEscapeKeyCloseAction(final JDialog dialog) {
    dialog.getRootPane().registerKeyboardAction(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            dialog.setVisible(false);
        }
    }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
}

From source file:Main.java

/**
 * Adds a key listener to a given {@link JDialog} that diposes it when the escape
 * key is pressed./* w  w w  .  j a v  a 2  s  .c  o  m*/
 */
public static void addEscapeKeyCloseAction(final JDialog dialog) {
    dialog.getRootPane().registerKeyboardAction(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            dialog.dispose();
        }
    }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
}

From source file:Main.java

/**
 * Binds an action to the dialog so when the user presses the ESCAPE key, the dialog is hidden.
 * /*  w w w .jav  a  2s.c  o  m*/
 * @param dialog
 *            the dialog to bind the action to.
 */
public static void bindEscapeAction(final JDialog dialog) {
    InputMap iMap = dialog.getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
    iMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "escape");

    ActionMap aMap = dialog.getRootPane().getActionMap();
    aMap.put("escape", new AbstractAction() {
        public void actionPerformed(ActionEvent e) {
            dialog.setVisible(false);
        }
    });
}

From source file:Main.java

/**
 * JOption panes static methods are not swing-conform and not decoratable.
 * <p>/*from w  ww  .  j  a  v a 2  s  .  co m*/
 * This utility function corrects this by giving the dialog/rootPane the name "Synth.Dialog"
 */
public static void showMessageDialogSynthCapable(Component parentComponent, Object message, String title,
        int messageType) {
    JOptionPane pane = new JOptionPane(message, messageType);
    JDialog dlg = pane.createDialog(parentComponent, title);
    dlg.getRootPane().setName("Synth.Dialog");
    dlg.pack();
    dlg.setVisible(true);
}

From source file:Main.java

public static void associaTeclaAtalho(JDialog dialog, Action action, String nomeAcao, String... atalhos) {
    associaTeclaAtalho(dialog.getRootPane(), action, nomeAcao, atalhos);
}

From source file:Main.java

public static void installEscapeCloseOperation(final JDialog dialog) {
    Action dispatchClosing = new AbstractAction() {
        public void actionPerformed(ActionEvent event) {
            dialog.dispatchEvent(new WindowEvent(dialog, WindowEvent.WINDOW_CLOSING));
        }//w ww.j av a 2s.  c  o  m
    };
    JRootPane root = dialog.getRootPane();
    root.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(ESCAPE_KEY_STROKE, ESCAPE_KEY);
    root.getActionMap().put(ESCAPE_KEY, dispatchClosing);
}