📄 compierecomboboxui.java
字号:
/******************************************************************************
* The contents of this file are subject to the Compiere License Version 1.1
* ("License"); You may not use this file except in compliance with the License
* You may obtain a copy of the License at http://www.compiere.org/license.html
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Original Code is Compiere ERP & CRM Business Solution
* The Initial Developer of the Original Code is Jorg Janke and ComPiere, Inc.
* Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts
* created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved.
* Contributor(s): ______________________________________.
*****************************************************************************/
package org.compiere.plaf;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.plaf.*;
import javax.swing.plaf.basic.*;
import javax.swing.plaf.metal.*;
import org.compiere.util.*;
/**
* Compiere ComboBox UI.
* The ComboBox is opaque - with opaque arrow button and textfield background
*
* @author Jorg Janke
* @version $Id: CompiereComboBoxUI.java,v 1.4 2002/08/12 01:55:15 danb Exp $
*/
public class CompiereComboBoxUI extends MetalComboBoxUI
{
/**
* Create UI
* @param c
* @return new instance of CompiereComboBoxUI
*/
public static ComponentUI createUI(JComponent c)
{
return new CompiereComboBoxUI();
} // CreateUI
/*************************************************************************/
static int s_no = 0;
/**
* Install UI - Set ComboBox opaque.
* Bug in Metal: arrowButton gets Mouse Events, so add the JComboBox
* MouseListeners to the arrowButton
* @see CComboBox#addMouseListener
* @param c
*/
public void installUI (JComponent c)
{
MouseListener[] ml = c.getMouseListeners();
super.installUI(c);
c.setOpaque(false);
//
for (int i = 0; i < ml.length; i++)
{
// System.out.println("adding " + c.getClass().getName());
arrowButton.addMouseListener(ml[i]);
}
} // installUI
/*************************************************************************/
/**
* Create opaque button
* @return opaque button
*/
protected JButton createArrowButton()
{
JButton button = super.createArrowButton();
button.setContentAreaFilled(false);
button.setOpaque(false);
return button;
} // createArrowButton
public JButton getArrowButton()
{
return arrowButton;
}
/**
* Set Icon of arrow button
* @param defaultIcon
*/
public void setIcon(Icon defaultIcon)
{
((MetalComboBoxButton)arrowButton).setComboIcon(defaultIcon);
} // setIcon
/*************************************************************************/
/**
* Create Popup
* @return CompiereComboPopup
*/
protected ComboPopup createPopup()
{
CompiereComboPopup popup = new CompiereComboPopup( comboBox );
popup.getAccessibleContext().setAccessibleParent(comboBox);
return popup;
} // createPopup
} // CompiereComboBoxUI
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -