Пример #1
0
  protected void init(boolean modal, JComponent content, String[] options) {
    super.setModal(modal);
    m_modal = modal;
    this.setFocusTraversalPolicy(
        new LayoutFocusTraversalPolicy() {
          private static final long serialVersionUID = 1L;

          protected boolean accept(Component component) {
            return !(component instanceof HTMLView);
          }
        });

    this.content = content;

    this.enableEvents(AWTEvent.WINDOW_EVENT_MASK);

    JPanel contentPane = (JPanel) this.getContentPane();
    contentPane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
    contentPane.setLayout(new BorderLayout());
    contentPane.add(content, BorderLayout.CENTER);
    contentPane.add(jPanelButtonFrame, BorderLayout.SOUTH);
    jPanelButtonFrame.setLayout(new FlowLayout(FlowLayout.CENTER));
    setButtons(options);
    contentPane.setVisible(true);

    /*
      We enable the escape-key for executing the abortCmd. Many thanks to John Zukowski.
         <a href="http://www.javaworld.com/javaworld/javatips/jw-javatip72.html">Java-Tip 72</a>
    */
    KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
    contentPane.getActionMap().put("abort", buttonListener);
    contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(stroke, "abort");
  }