package org.wiztools.restclient.ui; import java.awt.AWTEvent; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.inject.Inject; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; /** * * @author schandran */ class MessageDialog extends EscapableDialog { private final MessageDialog messageDialog; private RESTUserInterface ui; /** Creates new form ErrorDialog */ @Inject public MessageDialog(RESTUserInterface ui) { super(ui.getFrame(), true); this.ui = ui; this.setTitle("Error!"); initComponents(); this.messageDialog = this; } private void initComponents() { JPanel jp = new JPanel(); jp.setLayout(new BorderLayout()); jta_error = new JTextArea(10, 40); jta_error.setEditable(false); JScrollPane jsp = new JScrollPane(jta_error); jp.add(jsp, BorderLayout.CENTER); JPanel jp_south = new JPanel(); jp_south.setLayout(new FlowLayout(FlowLayout.CENTER)); jb_ok = new JButton("Ok"); jb_ok.setMnemonic('o'); getRootPane().setDefaultButton(jb_ok); jb_ok.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { jb_okActionPerformed(event); } }); jp_south.add(jb_ok); jp.add(jp_south, BorderLayout.SOUTH); this.setContentPane(jp); pack(); } @Override public void doEscape(AWTEvent event){ hideDialog(); } private void jb_okActionPerformed(java.awt.event.ActionEvent evt) { hideDialog(); } private void hideDialog(){ messageDialog.setVisible(false); } void showError(final String error){ showMessage("Error", error); } void showMessage(final String title, final String message){ messageDialog.setTitle(title); jta_error.setText(message); jta_error.setCaretPosition(0); messageDialog.setLocationRelativeTo(ui.getFrame()); jb_ok.requestFocus(); messageDialog.setVisible(true); } private javax.swing.JTextArea jta_error; private JButton jb_ok; }