ch9_19.java

来自「java图形用户界面设计 包括如何创建窗体 设计界面 管理布局 绘制图形 」· Java 代码 · 共 57 行

JAVA
57
字号
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class ch9_19 extends JFrame
{
    public ch9_19()
    {
        super("测试下拉列表框");
        setBounds(20,20,600,400);
        getContentPane().setLayout(null);
    }
    public static void main(String [] args)
    {
        ch9_19 f=new ch9_19();
        
        String [] s={"西瓜","苹果","草莓","香蕉"};

        JComboBox jcb=new JComboBox(s);
        jcb.setBorder(BorderFactory.createTitledBorder("列表"));
        jcb.setBounds(20,20,180,50);
        jcb.setRenderer(new AcellRenderer());
        jcb.setMaximumRowCount(3);
        
        f.getContentPane().add(jcb);
        
        f.show();
    }
}
class AcellRenderer extends JLabel implements ListCellRenderer
{
    AcellRenderer()
    {
        setOpaque(true);
    }
    public Component getListCellRendererComponent(JList list,Object value,int index,boolean isSelected,boolean cellHashFocus)
    {
        if(value!=null)
        {
            setText(value.toString());
            setIcon(new ImageIcon("icon"+(index+1)+".jpg"));
        }
        if(isSelected)
        {
            setBackground(list.getSelectionBackground());
            setBackground(list.getSelectionForeground());
            
        }
        else
        {
            setBackground(list.getBackground());
            setForeground(list.getForeground());
            
        }
        return this;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?