利用方法public void setRenderer(ListCellRenderer aRenderer),自定义列表单元格绘制器
简单示例:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Demo
{
public static void main(String[] args)
{
MyFrame f=new MyFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.show();
}
}
class MyFrame extends JFrame
{
public MyFrame()
{
setSize(300,300);
Container c=getContentPane();
c.setLayout(new FlowLayout());
String[] names={"a","AASDASD","SDF"};
JComboBox jc=new JComboBox(names);
jc.setRenderer(new MyCellRenderer());
c.add(jc);
}
}
class MyCellRenderer extends JLabel implements ListCellRenderer {
public MyCellRenderer() {
setOpaque(true);
}
public Component getListCellRendererComponent(
JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus)
{
setBackground(isSelected ? Color.BLUE : Color.LIGHT_GRAY);
setHorizontalAlignment(SwingConstants.RIGHT);
setText(value.toString());
return this;
}
}
简单示例:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Demo
{
public static void main(String[] args)
{
MyFrame f=new MyFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.show();
}
}
class MyFrame extends JFrame
{
public MyFrame()
{
setSize(300,300);
Container c=getContentPane();
c.setLayout(new FlowLayout());
String[] names={"a","AASDASD","SDF"};
JComboBox jc=new JComboBox(names);
jc.setRenderer(new MyCellRenderer());
c.add(jc);
}
}
class MyCellRenderer extends JLabel implements ListCellRenderer {
public MyCellRenderer() {
setOpaque(true);
}
public Component getListCellRendererComponent(
JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus)
{
setBackground(isSelected ? Color.BLUE : Color.LIGHT_GRAY);
setHorizontalAlignment(SwingConstants.RIGHT);
setText(value.toString());
return this;
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货