/**
* L2FProd.com Common Components 7.3 License.
*
* Copyright 2005-2007 L2FProd.com
*
* 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 com.l2fprod.common.swing.plaf.windows;
import com.l2fprod.common.swing.JTipOfTheDay;
import com.l2fprod.common.swing.JTipOfTheDay.ShowOnStartupChoice;
import com.l2fprod.common.swing.plaf.basic.BasicTipOfTheDayUI;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.border.CompoundBorder;
import javax.swing.plaf.ComponentUI;
import java.awt.*;
public class WindowsTipOfTheDayUI extends BasicTipOfTheDayUI {
public static ComponentUI createUI(JComponent c) {
return new WindowsTipOfTheDayUI((JTipOfTheDay) c);
}
public WindowsTipOfTheDayUI(JTipOfTheDay tipPane) {
super(tipPane);
}
public JDialog createDialog(Component parentComponent, final ShowOnStartupChoice choice) {
return createDialog(parentComponent, choice, false);
}
protected void installComponents() {
tipPane.setLayout(new BorderLayout());
// tip icon
JLabel tipIcon = new JLabel();
tipIcon.setPreferredSize(new Dimension(60, 100));
tipIcon.setIcon(UIManager.getIcon("TipOfTheDay.icon"));
tipIcon.setHorizontalAlignment(JLabel.CENTER);
tipIcon.setVerticalAlignment(JLabel.TOP);
tipIcon.setBorder(BorderFactory.createEmptyBorder(24, 0, 0, 0));
tipPane.add("West", tipIcon);
// tip area
JPanel rightPane = new JPanel(new BorderLayout());
JLabel didYouKnow = new JLabel(UIManager.getString("TipOfTheDay.didYouKnowText"));
didYouKnow.setPreferredSize(new Dimension(50, 32));
didYouKnow.setOpaque(true);
didYouKnow.setBackground(UIManager.getColor("TextArea.background"));
didYouKnow.setBorder(new CompoundBorder(BorderFactory.createMatteBorder(0, 0, 2, 0, tipPane.getBackground()),
BorderFactory.createEmptyBorder(4, 4, 4, 4)));
didYouKnow.setFont(tipPane.getFont().deriveFont(Font.BOLD, 15));
rightPane.add("North", didYouKnow);
tipArea = new JPanel(new BorderLayout());
tipArea.setOpaque(true);
tipArea.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
tipArea.setBackground(UIManager.getColor("TextArea.background"));
rightPane.add("Center", tipArea);
tipPane.add("Center", rightPane);
}
public static class TipAreaBorder implements Border {
public Insets getBorderInsets(Component c) {
return new Insets(2, 2, 2, 2);
}
public boolean isBorderOpaque() {
return false;
}
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
g.setColor(UIManager.getColor("TipOfTheDay.background"));
g.drawLine(x, y, x + width - 1, y);
g.drawLine(x, y, x, y + height - 1);
g.setColor(Color.black);
g.drawLine(x + 1, y + 1, x + width - 3, y + 1);
g.drawLine(x + 1, y + 1, x + 1, y + height - 3);
g.setColor(Color.white);
g.drawLine(x, y + height - 1, x + width, y + height - 1);
g.drawLine(x + width - 1, y, x + width - 1, y + height - 1);
}
}
}