⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checklistdemo.java

📁 电子工业出版社出版的《java2应用开发指南》配套光盘源代码
💻 JAVA
字号:
//CheckListDemo.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class CheckListDemo extends JFrame 
{
	public CheckListDemo ()
	{
		//设置框架窗口标题
		super("Swing List Demo");
		
		String[] data = {
			"Item one", " Item two", " Item three", " Item four",
			"Item five", " Item six", " Item seven", " Item eight",
			"Item night", " Item ten", " Item elevent", " Item twelve",
		};
		//构造数据
		CheckableItem[] ItemData =new CheckableItem[data.length];
        for(int i=0; i< data.length; i++ )
            ItemData[i]=new CheckableItem(data[i]);
		//创建JList实例
		final JList m_SimpleList = new JList(ItemData);
		
		//设置JLIst的定制绘制器
		m_SimpleList.setCellRenderer(new CustomerCellRender());
		m_SimpleList.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent e) {
                int index = m_SimpleList.locationToIndex(e.getPoint());
		        CheckableItem item = (CheckableItem)m_SimpleList.getModel().getElementAt(index);
		        item.setSelected(! item.isSelected());
		        m_SimpleList.repaint();
            }
        });
		//把列表组件放入滚动面板中来实现滚动功能
		JScrollPane ps = new JScrollPane(m_SimpleList);
		getContentPane().add(ps, BorderLayout.CENTER);

		//显示框架窗口
		setSize(200, 240);
		setVisible(true);
	}

	//应用程序的入口方法
	public static void main(String args[]) 
	{
		 CheckListDemo frame=new CheckListDemo();
		 //添加框架窗口的事件监听(监听关闭框架窗口事件)
		 frame.addWindowListener( new WindowAdapter() {
		    public void windowClosing(WindowEvent e) {
		        //正常推出Java虚拟机
		        System.exit(0);
		    }
		});
	}
}
/**
 * Cell Render for List used to paint customer List.
 */
class CustomerCellRender extends JCheckBox implements ListCellRenderer
{
    public Component getListCellRendererComponent(
                            JList list,
                            Object value,
                            int index,
                            boolean isSelected,
                            boolean cellHasFocus)
    {
        //设置背景色
        setBackground(isSelected ? list.getSelectionBackground() : list.getBackground());
    	//设置前景色
    	setForeground(isSelected ? list.getSelectionForeground() : list.getForeground());
        //设置
        setSelected(((CheckableItem)value).isSelected());
        //设置显示的文本内容
        this.setText(value.toString());

        return this;
    }
}
 /**********************************************************************************************
*	Class:      CheckableItem
*	Purpose:    存放一个单元的数据,包括String(文本值)和isSelected(是否选中)
*	Constructor: CheckableItem(String str)
*   Parament:    str---显示名
*	Remark:
**********************************************************************************************/
class CheckableItem
{
    //包括两个成员:文本值和是否选中.
	private String  str;
	private boolean isSelected;

    /**********************************************************************************************
    *	Constructor:CheckableItem
    *	Purpose:   设置文本值
    *	Parament:   str:文本值
    *	Remark:
    **********************************************************************************************/
	public CheckableItem(String str)
	{
	    this.str = str;
  	    isSelected = false;
	}

    /******************************************************************************************
    *	MethodName:setSelected(boolean b)
    *	Purpose:   设置选中状态.
    *	Input:      b:是否被选中
    *   Output:     void
    ******************************************************************************************/
	public void setSelected(boolean b){
  	    isSelected = b;
	}

	/******************************************************************************************
    *	MethodName:isSelected()
    *	Purpose:   判断是否被选中
    *	Input:      void
    *   Output:     boolean:选中状态
    ******************************************************************************************/
    public boolean isSelected(){
  	    return isSelected;
	}

    /******************************************************************************************
    *	MethodName:toString
    *	Purpose:   获得显示名
    *	Input:      void
    *   Output:     String---显示名
    ******************************************************************************************/
	public String toString(){
  	    return str;
	}
}

⌨️ 快捷键说明

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