setmaximumsize java_Java Component.setMaximumSize方法代码示例

此篇博客展示了如何使用Java实现JList的自定义列表项渲染,包括设置组件边框、背景色,以及创建动态列宽和添加辅助标签。通过实例代码详细讲解了如何处理选中状态和焦点处理,提升列表组件的灵活性和易读性。
摘要由CSDN通过智能技术生成

import java.awt.Component; //导入方法依赖的package包/类

@Override

public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {

FormatInfo info = (FormatInfo)value;

Component comp = delegate.getListCellRendererComponent(list, info.getDisplayName(), index, isSelected, cellHasFocus);

if (comp instanceof JComponent) {

JComponent jcomp = (JComponent)comp;

Border border = jcomp.getBorder();

if ((border != null) && (border.getBorderInsets(panel) != null)) { // Issue 161997

panel.setBorder(border);

} else {

panel.setBorder(BorderFactory.createEmptyBorder());

}

panel.setOpaque(jcomp.isOpaque());

jcomp.setBorder(null);

}

panel.removeAll();

panel.setBackground(comp.getBackground());

// 1st column

comp.setPreferredSize(null);

Dimension prefSize = comp.getPreferredSize();

comp.setPreferredSize(new Dimension(width1, prefSize.height));

comp.setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE));

panel.add(comp);

panel.add(Box.createHorizontalStrut(5));

// 2nd column

label.setText(info.getExample());

label.setForeground(comp.getForeground());

label.setFont(comp.getFont());

label.setPreferredSize(null);

prefSize = label.getPreferredSize();

label.setPreferredSize(new Dimension(width2, prefSize.height));

label.setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE));

panel.add(label);

return panel;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值