java JTable设置某一行的颜色

11 篇文章 0 订阅

java JTable设置某一行的颜色代码如下:



/**
	 * 设置表格的某一行的背景色
	 * @param table
	 */
	public static void setOneRowBackgroundColor(JTable table, int rowIndex,
			Color color) {
		try {
			DefaultTableCellRenderer tcr = new DefaultTableCellRenderer() {

				public Component getTableCellRendererComponent(JTable table,
						Object value, boolean isSelected, boolean hasFocus,
						int row, int column) {
					if (row == rowIndex) {
						setBackground(color);
						setForeground(Color.WHITE);
					}else if(row > rowIndex){
						setBackground(Color.BLACK);
						setForeground(Color.WHITE);
					}else{
						setBackground(Color.BLACK);
						setForeground(Color.WHITE);
					}

					return super.getTableCellRendererComponent(table, value,
							isSelected, hasFocus, row, column);
				}
			};
			int columnCount = table.getColumnCount();
			for (int i = 0; i < columnCount; i++) {
				table.getColumn(table.getColumnName(i)).setCellRenderer(tcr);
			}
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}




  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以通过使用`DefaultTableCellRenderer`类来设置JTable一行的字体大小。具体的步骤如下: 1. 创建一个继承自`DefaultTableCellRenderer`的类,例如`MyTableCellRenderer`。 2. 在`MyTableCellRenderer`类中重写`getTableCellRendererComponent`方法,将该方法中的`super.getTableCellRendererComponent`方法返回的`Component`对象的字体设置为你想要的字体大小。 3. 在需要设置JTable一行的字体大小的地方,例如在JTable的构造方法中,使用`setRowHeight`方法设置行高,并使用`setDefaultRenderer`方法将`MyTableCellRenderer`对象设置JTable的默认渲染器。 下面是一个示例代码: ```java import javax.swing.*; import javax.swing.table.DefaultTableCellRenderer; import java.awt.*; public class MyTableCellRenderer extends DefaultTableCellRenderer { private Font font; public MyTableCellRenderer(Font font) { this.font = font; } @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component component = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); component.setFont(font); return component; } } class MyTable extends JTable { public MyTable(Object[][] rowData, Object[] columnNames) { super(rowData, columnNames); setRowHeight(30); setDefaultRenderer(Object.class, new MyTableCellRenderer(new Font("宋体", Font.PLAIN, 20))); } } ``` 在上面的示例代码中,`MyTable`类继承自`JTable`类,它的构造方法中设置了行高为30,并将`MyTableCellRenderer`对象设置JTable的默认渲染器,其中`MyTableCellRenderer`构造方法中传入了一个字体对象,该字体对象的大小为20。这样就可以设置JTable一行的字体大小为20了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值