带有JTable的javagui

带有JTable的javagui,java,swing,Java,Swing,我通过JList中的鼠标事件在JTable中显示数据。我想知道在用户单击JLIst后如何更改特定数据的字体颜色,下面是所需结果的照片 list.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { int solutionindex =list.getSelectedIndex(); i

我通过JList中的鼠标事件在JTable中显示数据。我想知道在用户单击JLIst后如何更改特定数据的字体颜色,下面是所需结果的照片

list.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent arg0) {

            int solutionindex =list.getSelectedIndex();
            if(solutionindex==0) {

                for (int i=0;i<table.getRowCount();i++) {
                    for (int j=0;j<table.getColumnCount();j++) {

                            table.setValueAt(b.charAt(i, j), i,j);


                    }// end of second for loop

                }// end of for loop
            }               
           else {
                for (int i=0;i<table.getRowCount();i++) {
                    for (int j=0;j<table.getColumnCount();j++) {                 


        table.setValueAt(solutions.get(solutionindex1).getBoard().charAt(i, j), i,j);
                    }// end of second for loop

                }// end of for loop

            }







        table.setDefaultRenderer(String.class, new DefaultTableCellRenderer(){
         @Override
         public java.awt.Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column) {
             java.awt.Component c = super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
             c.setForeground(Color.red);
             return c;
         }

     });

list.addMouseListener(新的MouseAdapter(){
@凌驾
公共无效鼠标单击(鼠标事件arg0){
int solutionindex=list.getSelectedIndex();
如果(solutionindex==0){

对于(int i=0;i使用
ListSelectionModel
而不是
JList
上的
MouseStener
JList
将在某个地方使用
MouseStener
来更改状态。
(这真让人困惑。)


将表[model]中的对象从
字符
切换为包含文本和前景颜色的新类型。在表单元格渲染器中,将单元格对象强制转换为正确的类型,并在
设置前景
中使用其颜色

取决于表中的组件,对于按钮,请使用setTextColor().对于JLabel,setForeground(),到目前为止您尝试了什么?我正在直接设置JTable的值,没有任何其他组件,只设置JTale.setValue(value,numRow,numCol)我尝试编写If语句,并再次在值上设置前景,但没有成功。