/* * Copyright 2007 - 2017 the original author or authors. * * Licensed under the Apache 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.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.sf.jailer.ui; import java.awt.Font; import java.awt.GridBagConstraints; import java.awt.Insets; import javax.swing.Icon; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.UIManager; /** * Info Bar. * * @author Ralf Wisser */ public class InfoBar extends JPanel { private static final long serialVersionUID = -6737420167295938488L; private final Font font = new JLabel().getFont(); private final Font big = new Font(font.getName(), font.getStyle() | Font.BOLD, (int) (font.getSize() * 1.2)); private final String titel; private final String message; /** Creates new form SqlErrorDialog */ public InfoBar(String titel, String message) { this.titel = titel; this.message = message; initComponents(); int y = 1; if (titel != null) { JLabel label = new JLabel(titel); label.setFont(big); java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = y++; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 0; gridBagConstraints.insets = new Insets(0, 0, 8, 0); messagePanel.add(label, gridBagConstraints); } for (String line : message.trim().split("\n")) { JLabel label = new JLabel(line); java.awt.GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = y++; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 0; messagePanel.add(label, gridBagConstraints); } iconLabel.setText(null); try { setIcon(UIManager.getIcon("OptionPane.informationIcon")); } catch (Throwable t) { // ignore } } public InfoBar(InfoBar infoBar) { this(infoBar.titel, infoBar.message); if (infoBar.iconLabel.getIcon() != null) { setIcon(infoBar.iconLabel.getIcon()); } } public void setIcon(Icon errorIcon) { iconLabel.setIcon(errorIcon); } /** * 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. */ // <editor-fold defaultstate="collapsed" // desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; iconLabel = new javax.swing.JLabel(); messagePanel = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); setLayout(new java.awt.GridBagLayout()); iconLabel.setText("jLabel1"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = GridBagConstraints.NORTH; gridBagConstraints.insets = new java.awt.Insets(12, 12, 0, 12); add(iconLabel, gridBagConstraints); messagePanel.setLayout(new java.awt.GridBagLayout()); jLabel1.setText(" "); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 100; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; messagePanel.add(jLabel1, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(8, 0, 0, 0); add(messagePanel, gridBagConstraints); }// </editor-fold>//GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel iconLabel; private javax.swing.JLabel jLabel1; private javax.swing.JPanel messagePanel; // End of variables declaration//GEN-END:variables }