Jtable 问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 13:23:51
一个表格,其中一列为下拉菜单。
双击一个单元格,改变此单元格的颜色为红色。。
是选中的单元格,不是都改变(不是setSelectionBackground())。。
高手给代码。。有详细注释。。
要用到什么TableCellEditor什么的。。
50分!!!! 哥们真没分了
无所谓。。只要能如题那样修改就行。。。

你的单元格可以编辑吗
我倒是可以实现你要求的内容,不过也只限于实现你所说的功能。基本原理是在双击可变红的单元格内添加一个标签,让标签来监听鼠标动作并执行相关命令。具体代码如下:

import java.awt.Color;
import java.awt.Component;
import java.util.EventObject;

import javax.swing.*;

import java.awt.event.*;

import javax.swing.event.CellEditorListener;
import javax.swing.table.*;
public class Test extends JFrame{
private JTable table;
public Test(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(300,200);

table=new JTable(5,5);
this.getContentPane().add(table);
this.pack();
for(int i=0;i<table.getColumnCount();i++){
table.getColumnModel().getColumn(i).setCellRenderer(new MyRenderer());//为每列设置渲染器,以绘制下拉框等组件
table.getColumnModel().getColumn(i).setCellEditor(new MyTableCellEditor());//设置单元格编辑器
}
for(int i=0;i<5;i++)
for(int j=0;j<5;j++){//先用空标签填充单元格
JLabel label=new JLabel();