
bgu.dcr.az.dev.ui.MessageDialog Maven / Gradle / Ivy
The newest version!
/*
* The MIT License
*
* Copyright 2016 Benny Lutati.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package bgu.dcr.az.dev.ui;
import bc.dsl.SwingDSL;
import java.awt.BorderLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JPanel;
/**
*
* @author kdima85
*/
public class MessageDialog extends javax.swing.JDialog {
public static enum MessageType {
INFO,
SUCCESS,
FAIL,
VALIDATION_FAILD;
public String getIconName(MessageType type) {
switch (type) {
case FAIL:
return "fail-message";
case SUCCESS:
return "success-message";
case VALIDATION_FAILD:
return "validation-faild-message";
case INFO:
return "info-message";
}
return "info-message";
}
public String getTypeText(MessageType type) {
switch (type) {
case FAIL:
return "ONOES!";
case SUCCESS:
return "WHOOPY!";
case INFO:
return "HMMM...";
case VALIDATION_FAILD:
return "WHOOPS..";
}
return "UNKNOWN TYPE OF MESSAGE";
}
}
public MessageDialog(java.awt.Frame parent, boolean modal,MessageType type, String data, String content) {
super(parent, modal);
initComponents();
this.messageContentLabel.setText(content);
this.messageDataLabel.setText(data);
chooseIconAndType(type);
setLocationRelativeTo(null);
initializeKeyBinding();
}
public MessageDialog(java.awt.Frame parent, boolean modal,MessageType type, String data, JPanel content) {
super(parent, modal);
initComponents();
this.messageContentPanel.removeAll();
this.messageContentPanel.add(content,BorderLayout.CENTER);
this.messageDataLabel.setText(data);
chooseIconAndType(type);
setLocationRelativeTo(null);
initializeKeyBinding();
}
public void initializeKeyBinding(){
addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
switch(e.getKeyCode()){
case KeyEvent.VK_ESCAPE:
setVisible(false);
break;
}
}
});
//jPanel1.setFocusTraversalKeysEnabled(true);
//jPanel1.setFocusable(true);
}
public static void showSuccess(String title, String content){
MessageDialog x = new MessageDialog(null, true, MessageType.SUCCESS, title, content);
x.setVisible(true);
}
public static void showValidationFaild(String description){
MessageDialog x = new MessageDialog(null, true, MessageType.VALIDATION_FAILD, "input validation failed", description);
x.setVisible(true);
}
public static void showFail(String title, String content){
MessageDialog x = new MessageDialog(null, true, MessageType.FAIL, title, content);
x.setVisible(true);
}
private void chooseIconAndType(MessageType messageType) {
this.typeLable.setText(messageType.getTypeText(messageType));
this.iconLabel.setIcon(SwingDSL.resIcon(messageType.getIconName(messageType)));
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// //GEN-BEGIN:initComponents
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
iconLabel = new javax.swing.JLabel();
typeLable = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
messageDescriptionPanel = new javax.swing.JPanel();
jLabel4 = new javax.swing.JLabel();
messageDataLabel = new org.jdesktop.swingx.JXLabel();
messageContentPanel = new javax.swing.JPanel();
jLabel5 = new javax.swing.JLabel();
messageContentLabel = new org.jdesktop.swingx.JXLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("AgentZero Message (Esc to close)");
setMinimumSize(new java.awt.Dimension(560, 300));
setResizable(false);
jPanel1.setMaximumSize(new java.awt.Dimension(560, 300));
jPanel1.setMinimumSize(new java.awt.Dimension(560, 300));
jPanel1.setOpaque(false);
jPanel1.setPreferredSize(new java.awt.Dimension(560, 300));
jPanel1.setLayout(new java.awt.BorderLayout());
jPanel2.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(186, 185, 185)));
jPanel2.setMinimumSize(new java.awt.Dimension(108, 50));
jPanel2.setPreferredSize(new java.awt.Dimension(108, 60));
jPanel2.setLayout(new java.awt.GridBagLayout());
iconLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/img/info-message.png"))); // NOI18N
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridheight = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
jPanel2.add(iconLabel, gridBagConstraints);
typeLable.setFont(new java.awt.Font("Consolas", 1, 18));
typeLable.setText("HMMM...");
typeLable.setDoubleBuffered(true);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 5);
jPanel2.add(typeLable, gridBagConstraints);
jPanel1.add(jPanel2, java.awt.BorderLayout.NORTH);
jPanel3.setBackground(new java.awt.Color(102, 102, 102));
jPanel3.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 3, 5, 5));
jPanel3.setLayout(new java.awt.GridBagLayout());
messageDescriptionPanel.setBackground(new java.awt.Color(120, 120, 120));
messageDescriptionPanel.setOpaque(false);
messageDescriptionPanel.setLayout(new java.awt.BorderLayout());
jLabel4.setFont(new java.awt.Font("Consolas", 1, 14));
jLabel4.setForeground(new java.awt.Color(210, 233, 255));
jLabel4.setText("Description : ");
messageDescriptionPanel.add(jLabel4, java.awt.BorderLayout.PAGE_START);
messageDataLabel.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 10, 0, 0));
messageDataLabel.setForeground(new java.awt.Color(255, 255, 255));
messageDataLabel.setText("Actual Description");
messageDataLabel.setFont(new java.awt.Font("Consolas", 0, 12));
messageDataLabel.setLineWrap(true);
messageDescriptionPanel.add(messageDataLabel, java.awt.BorderLayout.CENTER);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 0);
jPanel3.add(messageDescriptionPanel, gridBagConstraints);
messageContentPanel.setBackground(new java.awt.Color(120, 120, 120));
messageContentPanel.setOpaque(false);
messageContentPanel.setLayout(new java.awt.BorderLayout());
jLabel5.setFont(new java.awt.Font("Consolas", 1, 14));
jLabel5.setForeground(new java.awt.Color(210, 233, 255));
jLabel5.setText("Details:");
messageContentPanel.add(jLabel5, java.awt.BorderLayout.PAGE_START);
messageContentLabel.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 10, 0, 0));
messageContentLabel.setForeground(new java.awt.Color(255, 255, 255));
messageContentLabel.setText("Actual Content");
messageContentLabel.setVerticalAlignment(javax.swing.SwingConstants.TOP);
messageContentLabel.setFont(new java.awt.Font("Consolas", 0, 12));
messageContentLabel.setLineWrap(true);
messageContentPanel.add(messageContentLabel, java.awt.BorderLayout.CENTER);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 0);
jPanel3.add(messageContentPanel, gridBagConstraints);
jPanel1.add(jPanel3, java.awt.BorderLayout.CENTER);
getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
pack();
}// //GEN-END:initComponents
/**
* @param args the command line arguments
*/
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel iconLabel;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private org.jdesktop.swingx.JXLabel messageContentLabel;
private javax.swing.JPanel messageContentPanel;
private org.jdesktop.swingx.JXLabel messageDataLabel;
private javax.swing.JPanel messageDescriptionPanel;
private javax.swing.JLabel typeLable;
// End of variables declaration//GEN-END:variables
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy