package app.navigps.gui.detailspanel; import app.navigps.gui.label.ui.TitleLabelUI; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Insets; import java.awt.RenderingHints; import java.awt.event.ActionListener; import javax.swing.Icon; import javax.swing.JButton; import javax.swing.JLabel; /** * * @author wara */ public class DecoratePanel extends AbstractDecoratePanel{ private JButton closeButton = new JButton(""); private JLabel content = new JLabel(); /** * */ public DecoratePanel(){ setOpaque(false); setPreferredSize(new Dimension(10,30)); init(); setOuterCorners(0,0); setInnerCorners(0, 0); setInsets(new Insets(0,0,0,0)); } /** * * @param al */ public void addActionListenerToCloseButton(ActionListener al){ closeButton.addActionListener(al); } private void init(){ setLayout(new BorderLayout()); closeButton.setMargin(new Insets(1,1,1,1)); closeButton.setFocusPainted(false); closeButton.setIconTextGap(0); closeButton.setBorderPainted(false); closeButton.setContentAreaFilled(false); //closeButton.setRolloverIcon(RoundWindowUtils.getIcons("cancelOver.png", 30)); closeButton.setPressedIcon(RoundWindowUtils.getIcons("cancelPressed.png", 24)); closeButton.setIcon(RoundWindowUtils.getIcons("cancel.png", 24)); add(closeButton,BorderLayout.EAST); getContent().setFont(new Font("Ariel", Font.BOLD, 16)); getContent().setUI(new TitleLabelUI()); //getContent().setIconTextGap(50); getContent().setForeground(Color.WHITE); //getContent().setBorder(LineBorder.createGrayLineBorder()); //content.setIcon(MainWindowIWD.createNavigationIcon("open32")); add(getContent(),BorderLayout.CENTER); } /** * * @param g */ @Override public void paintComponent(Graphics g){ super.paintComponent(g); Graphics2D g2 = (Graphics2D)g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); } /** * * @return */ @Override public String getTitle() { return getContent().getText(); } /** * * @param text */ @Override public void setTitle(String text) { getContent().setText(text); } /** * * @return */ @Override public JLabel getContent() { return content; } /** * * @param content */ @Override public void setContent(JLabel content) { this.content = content; } @Override public void setIcon(Icon ico) { getContent().setIcon(ico); } @Override public void setVisibleCloseButton(boolean val) { closeButton.setVisible(val); } @Override public boolean isVisibleCloseButton(boolean val) { return closeButton.isVisible(); } }