|
What this is
Other links
The source code/* * 11/14/2000 - 17:37:52 * * JextLabeledMenuSeparatorUI.java - A new UI for popup separators * Copyright (C) 2000 Romain Guy * romain.guy@jext.org * www.jext.org * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.jext.gui; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import javax.swing.JComponent; import javax.swing.UIManager; import javax.swing.plaf.ComponentUI; public class JextLabeledMenuSeparatorUI extends javax.swing.plaf.metal.MetalSeparatorUI { private String stext; private Font labelFont; public JextLabeledMenuSeparatorUI(JComponent c) { if (c instanceof JextLabeledMenuSeparator) stext = ((JextLabeledMenuSeparator) c).getSeparatorText(); if (stext != null) { labelFont = new Font("Monospaced", java.awt.Font.PLAIN, 8); shadow = UIManager.getColor("controlDkShadow"); highlight = UIManager.getColor("controlLtHighlight"); } } public static ComponentUI createUI(JComponent c) { return new JextLabeledMenuSeparatorUI(c); } public void paint(Graphics g, JComponent c) { if (stext != null) { g.setFont(labelFont); FontMetrics fm = g.getFontMetrics(); g.setColor(highlight); int h = fm.getHeight() / 2; g.drawString(stext, 4, h + 1); g.setColor(shadow); g.drawString(stext, 5, h); g.setColor(Color.black); g.drawLine(fm.stringWidth(stext) + 8, 4, c.getSize().width, 4); } else { g.setColor(Color.black); g.drawLine(0, 0, c.getSize().width, 0); } } public Dimension getPreferredSize(JComponent c) { return new Dimension(0, stext == null ? 1 : 10); } } // End of JextLabeledMenuSeparatorUI.java |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.