se.cambio.openehr.view.dialogs.DialogLongMessageNotice Maven / Gradle / Ivy
package se.cambio.openehr.view.dialogs;
import se.cambio.openehr.util.OpenEHRImageUtil;
import javax.swing.*;
import java.awt.*;
public class DialogLongMessageNotice extends DialogEditor {
private static final long serialVersionUID = 1L;
public static enum MessageType {
NORMAL,
WARNING,
WARNING_WITH_CANCEL,
ERROR
}
private JPanel panelMsg = null;
private JPanel panelException = null;
private JPanel panelButtons = null;
private String msg = null;
private String longMsg = null;
private MessageType type = null;
public DialogLongMessageNotice(Window owner, String title, String msg, String longMsg, MessageType type) {
super(owner, title, new Dimension(400, 400), true, true);
this.msg = msg;
this.longMsg = longMsg;
this.type = type;
init();
}
private void init() {
getJPanel().setLayout(new BorderLayout());
getJPanel().add(getPanelMsg(), BorderLayout.NORTH);
getJPanel().add(getPanelException(), BorderLayout.CENTER);
getJPanel().add(getPanelButtons(), BorderLayout.SOUTH);
}
private JPanel getPanelMsg() {
if (panelMsg == null) {
panelMsg = new JPanel(new BorderLayout());
JPanel aux = new JPanel();
aux.add(new JLabel(getImageIcon()));
panelMsg.add(aux, BorderLayout.WEST);
JTextPane textPane = new JTextPane();
textPane.setText(msg);
textPane.setFont(textPane.getFont().deriveFont(Font.BOLD));
textPane.setBackground(null);
textPane.setEditable(false);
panelMsg.add(textPane, BorderLayout.CENTER);
}
return panelMsg;
}
private JPanel getPanelException() {
if (panelException == null) {
panelException = new JPanel();
panelException = new JPanel(new BorderLayout());
JTextPane textPane = new JTextPane();
textPane.setText(longMsg);
textPane.setEditable(false);
JPanel noWrapPanel = new JPanel(new BorderLayout());
noWrapPanel.add(textPane);
textPane.setBackground(null);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportView(noWrapPanel);
panelException.add(scrollPane);
}
return panelException;
}
private JPanel getPanelButtons() {
if (panelButtons == null) {
panelButtons = new JPanel(new FlowLayout(FlowLayout.CENTER));
panelButtons.add(getAcceptButton());
if (MessageType.WARNING_WITH_CANCEL.equals(type)) {
panelButtons.add(getCancelButton());
}
}
return panelButtons;
}
private ImageIcon getImageIcon() {
if (MessageType.ERROR.equals(type)) {
return OpenEHRImageUtil.CANCEL_ICON;
} else if (MessageType.WARNING.equals(type) || MessageType.WARNING_WITH_CANCEL.equals(type)) {
return OpenEHRImageUtil.WARNING_ICON;
} else {
return OpenEHRImageUtil.EMPTY_ICON;
}
}
}
/*
* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 2.0/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 2.0 (the 'License'); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an 'AS IS' basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
*
* The Initial Developers of the Original Code are Iago Corbal and Rong Chen.
* Portions created by the Initial Developer are Copyright (C) 2012-2013
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Software distributed under the License is distributed on an 'AS IS' basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* ***** END LICENSE BLOCK *****
*/