请教:鼠标选中table的某行或多行时,通过渲染器来设置单行或多行的颜色 如题?谢谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.awt.Color;import java.awt.Component;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableModel;public class TableRowColorTest extends JFrame { TableModel dataModel = new DefaultTableModel() { public int getColumnCount() { return 10; } public int getRowCount() { return 10; } public Object getValueAt(int row, int col) { return new Integer(row + "" + col); } public boolean isCellEditable(int row, int col) { return true; } @Override public String getColumnName(int column) { return Integer.valueOf(column).toString(); } }; private JTable table = new JTable(dataModel); private JScrollPane scrollpane = new JScrollPane(table); public TableRowColorTest() { table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); for (int i = 0; i < table.getColumnCount(); i++) { table.getColumn(Integer.valueOf(i).toString()).setCellRenderer(new TestRenderer()); } } private void showTest() { this.getContentPane().add(scrollpane); this.setVisible(true); this.pack(); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { TableRowColorTest tt = new TableRowColorTest(); tt.showTest(); } private class TestRenderer extends DefaultTableCellRenderer { @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component renderer = super.getTableCellRendererComponent( table, value, isSelected, hasFocus, row, column); if (isSelected) { // set color your logic renderer.setBackground(Color.BLUE); } else { super.setBackground(table.getBackground()); } return renderer; } }} java类名可以用Class这类的么? java 宠物猫,有自己的代码,帮忙改一下,谢谢!! java里画图。我用Xor模式,但是擦不干净以前画的线 输入输出问题 问一个数据库连接的问题,请高手解答。。。 应聘Java,jsp,j2ee软件工程师笔试中可能出现的问题(能给出这些问题的答案吗) 如何理解对象的定义? 2000下做的东西Xp上运行不了,真的跨平台? 日文乱吗问题 简单问题,请高手指点。 新手:JDBC连接oracle问题(在线等) awt是怎么一回事
import java.awt.Component;import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;public class TableRowColorTest extends JFrame { TableModel dataModel = new DefaultTableModel() {
public int getColumnCount() {
return 10;
} public int getRowCount() {
return 10;
} public Object getValueAt(int row, int col) {
return new Integer(row + "" + col);
} public boolean isCellEditable(int row, int col) {
return true;
} @Override
public String getColumnName(int column) {
return Integer.valueOf(column).toString();
}
}; private JTable table = new JTable(dataModel); private JScrollPane scrollpane = new JScrollPane(table); public TableRowColorTest() {
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
for (int i = 0; i < table.getColumnCount(); i++) {
table.getColumn(Integer.valueOf(i).toString()).setCellRenderer(new TestRenderer());
}
} private void showTest() {
this.getContentPane().add(scrollpane);
this.setVisible(true);
this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} public static void main(String[] args) {
TableRowColorTest tt = new TableRowColorTest();
tt.showTest();
} private class TestRenderer extends DefaultTableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
Component renderer =
super.getTableCellRendererComponent(
table,
value,
isSelected,
hasFocus,
row,
column);
if (isSelected) {
// set color your logic
renderer.setBackground(Color.BLUE);
} else {
super.setBackground(table.getBackground());
}
return renderer;
}
}}