Java实现JTable放置任意组件

本文介绍如何在Java的JTable中利用TableCellRenderer和TableCellEditor接口添加自定义组件,如JLabel。通过创建MyLabelRenderer并在表格特定列应用setCellRenderer方法,可以实现这一功能。此外,还可以在JPanel中设置布局并添加更多组件。虽然示例仅展示了界面,但完整的功能实现(TableCellEditor)仍有待补充。
摘要由CSDN通过智能技术生成

要想在Table中某一行放置任意组件,要使用TableCellRenderer(单元格渲染器)接口和TableCellEditor(单元格编辑器)接口

例如:在某一行放置JLabel组件,首先创建MyLabelRenderer

import java.awt.Component;
import java.awt.Image;
import java.net.URL;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;

public class MyLabelRenderer extends JLabel implements TableCellRenderer{

	@Override
	public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
			int row, int column) {
		// TODO Auto-generated method stub
		
	URL url=MyButtonRenderer.class.getResource(value+".png");
        ImageIcon icon=new ImageIcon(url);
        icon.setImage(icon.getImage().getScaledInstance(22, 22, Image.SCALE_DEFAULT));
        setIcon(icon);
        
        setText(value.toString())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值