可以做成这样的combobox吗?

chexuan 2005-10-21 04:50:59
我需要一个两列的combobox如下图:
----------------
| 00001 下箭头|
-------------------------------------
| 00001 | aaaaaaaaaaaaaaa |
-------------------------------------
| 00002 | bbbbbbbbbbbbbbb |
-------------------------------------
我已经做出来一个类似的如下:
-----------------
| 00001 下箭头|
-----------------
| 00001 | aaaa|
-----------------
| 00002 | bbbb|
-----------------
因为不会设定下拉列表的各列的宽度,所以名称列就显示了一部分
...全文
69 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chexuan 2005-10-21
  • 打赏
  • 举报
回复
重新画一下图
-------------------------
| 00001 下箭头|
----------------------------------------------
| 00001 | aaaaaaaaaaaaaaa |
----------------------------------------------
| 00002 | bbbbbbbbbbbbbbb |
----------------------------------------------
chexuan 2005-10-21
  • 打赏
  • 举报
回复
大家看看能不能帮我改改这个renderer,
使它能达到我想要得效果,或者用别的方法,谢谢
chexuan 2005-10-21
  • 打赏
  • 举报
回复
图没画好,横分隔线短了点,我重写了一个Renderer,然后set了这个renderer
class TwoColumnsRenderer extends JPanel implements ListCellRenderer
{
private DefaultListCellRenderer column1 = new DefaultListCellRenderer();
private DefaultListCellRenderer column2 = new DefaultListCellRenderer();

public TwoColumnsRenderer()
{
super(new GridLayout(1,0,3,0));
add(column1);
add(column2);
}

public Component getListCellRendererComponent(JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus)
{
String array[] = (String[])value;
column1.getListCellRendererComponent(list,array[0],index,isSelected,cellHasFocus);
column2.getListCellRendererComponent(list,array[1],index,isSelected,cellHasFocus);
return this;
}
}

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧