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

📄 basiclistui.java

📁 this gcc-g++-3.3.1.tar.gz is a source file of gcc, you can learn more about gcc through this codes f
💻 JAVA
字号:
package javax.swing.plaf.basic;import javax.swing.plaf.*;import javax.swing.*;import java.awt.*;public class BasicListUI extends ListUI{    int gap_between_cells;    Color textColor, disabledTextColor, pressedBackgroundColor, normalBackgroundColor;        public static ComponentUI createUI(final JComponent c)     {	return new BasicButtonUI();    }        public void installUI(final JComponent c)     {	super.installUI(c);	textColor                = new Color(0,0,0);	disabledTextColor        = new Color(130, 130, 130);	pressedBackgroundColor   = new Color(150,150,150);	normalBackgroundColor    = new Color(192,192,192);    }    public Dimension getPreferredSize(JComponent c)     {	JList l = (JList) c;	System.out.println("XXXXXXXXXXXXXXXxx   getPreferredSize------------> " + l);		int rows = l.getVisibleRowCount();	ListCellRenderer render = l.getCellRenderer();		int width  = 200;	int height = rows * 16; 		if (l.getModel().getSize() == 0)	    {		return new Dimension(width, height);	    }	System.out.println("BASIC_LIST_UI ====-> " + l.getModel().getElementAt(0));	Component elt = render.getListCellRendererComponent(l,							    l.getModel().getElementAt(0),							    0,            							    false,							    false);	Dimension a = elt.getPreferredSize();	if (a == null)	    {		return new Dimension(width, height);	    }	return new Dimension(a.width,			     a.height * rows);    }    public void paintBackground(Graphics g,			 JComponent c)    {	Dimension size = getPreferredSize(c);	g.setColor(normalBackgroundColor);	g.fillRect(0,0,size.width, size.height);      }    public void paint(Graphics g, 		      JComponent c)    {      	JList l = (JList) c;	int rows = l.getVisibleRowCount();	ListCellRenderer render = l.getCellRenderer();	System.out.println("RENDER-JLIST: " + rows + ", " + l.getModel().getSize());	paintBackground(g, c);	if (l.getModel().getSize() == 0)	    return;	// use element 0 to figure out how big we are:	Component elt = render.getListCellRendererComponent(l,							    l.getModel().getElementAt(0),							    0,       							    false,							    false);	Dimension dim = elt.getPreferredSize();		Rectangle a = new Rectangle(0,				    0,				    dim.width,				    dim.height);	for (int i=0;i<l.getModel().getSize();i++)	    {		boolean is_sel = false;		boolean has_focus = false;		Component comp = render.getListCellRendererComponent(l,								     l.getModel().getElementAt(i),								     i,            								     is_sel,								     has_focus);		//System.out.println("AAAAA=> " + a + ", " + comp + ", index = " + i);		comp.setBounds(a);		comp.paint(g);		a.y += dim.height + gap_between_cells;	    }    }}

⌨️ 快捷键说明

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