如题:最好给代码和注释。我要的是在同一列,不同行可以添加不同的JCOMBOBOX控件,当然了,你们也可以告诉我在同列不同行怎么添加不同的控件,

解决方案 »

  1.   

    用Render. 下面一个例子虽然不是combobox, 但是checkbox,,, 其实原理一样:private class CheckBoxRenderer extends DefaultTableCellRenderer
        {
            public CheckBoxRenderer()
            {
                setNameForAutoTest();
            }
            
            @Override
            public Component getTableCellRendererComponent(JTable table,
                    Object value, boolean isSelected, boolean hasFocus, int row,
                    int column)
            {
                Component res = super.getTableCellRendererComponent(table,
                        value,
                        isSelected,
                        hasFocus,
                        row,
                        column);
                
                //当前组件为JLabel类型,才可设置渲染器
                if (res instanceof JLabel)
                {
                    //当前鼠标选中此行               
                    if (isSelected)
                    {
                        _checkBox.setSelected(true);
                        //                                    setForeground(table.getSelectionForeground());
                        //                                    setBackground(table.getSelectionBackground());
                    }                
                    if (_showCheckBox && (Boolean) value)
                    {
                        _checkBox.setSelected(true);
                        //                                    setForeground(table.getSelectionForeground());
                        //                                    setBackground(table.getSelectionBackground());
                    }
                    //未选中的情况
                    else
                    {
                        _checkBox.setSelected(false);
                        //                                    _checkBox.setBackground(UIManager.getColor("CheckBox.background"));
                    }
                    /* 设置表格的灰化状态 */
                    if (!IsmTable.this.isEnabled())
                    {
                        _checkBox.setOpaque(true);
                        _checkBox.setEnabled(false);
                        //                                    setBackground(disablebackground);
                    }
                    else
                    {
                        _checkBox.setOpaque(false);
                        _checkBox.setEnabled(true);
                        //                                    setBackground(Color.WHITE);
                    }                _checkBox.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
                    return _checkBox;
                }
                return res;
            }
            
            //表格灰化背景色
            //private Color disablebackground = new Color(238, 238, 238);
            
            //复选框
            private JCheckBox _checkBox = new JCheckBox();
        }
      

  2.   

    这问题说来,简单也可,复杂也可。
    可以指定一列,甚至一个单元格;
    可以根据取得的数据类型绑定编辑器而且JComboBox类型的编辑器又在swing中有默认的提供,这个很简单。
    虽说两者本质并无太大不同,但是既然涉及到了编辑,自然牵涉到保存数据的类型问题。你要哪种?
      

  3.   

    http://topic.csdn.net/u/20091203/11/2f17c270-23fd-4837-9b28-f78141592f88.htmllz可以参考链接里的实例