在切换面板后,大家看那个任务类型边上的JComboBox,其中只有1个选项叫SDR_,
程序中将这个选项中少于2个都设置为enabled了,所以是为灰色的,但是居然还有焦点移到上面就是那个黄色的一块,我想去除那块黄色,我试在将JComboBox这个控制设置 setFocusable(false),虽然那个黄色没有了,但是当JComboBox有多余2条数据时,选中1条后焦点是上不去的。请各位看看。 图上传不了,所以我这里大概 画一下任务类型:【这里面是jcombox,只有1条数据时是灰色的,因为我设置为enabled,但是这块地方焦点却可以落在上面】
我不想灰色时还有焦点落在上面

解决方案 »

  1.   

    你可以在添加数据后判断JComboBox的记录数(getItemCount()),如果小于等于1,就setEnabled(false)否则就setEnabled(true)
      

  2.   

    可以试试加一个setFocusable(false);
      

  3.   


    sheFocusable(false)就不能有焦点标识了,得看你想怎么实现了,1L的也是一种处理方式
      

  4.   


    我加了这个setFocusable(false)了,可是再点上去就没有焦点标识了啊,谢谢兄弟
      

  5.   


    我就是getItemCount() >= 2 时setEnabled(true),否则设置为false但是黄色焦点标识还在上面, 按理来说是应该没有的,因为只有1条数据时,是enabled啊?
      

  6.   

    只有1条数据时是灰色的灰色是怎么设置的?  是设置的背景色,还是setEnabled(false)
      

  7.   


    是setEnabled(false),而且这个控件设置背景色为白色的。
      

  8.   


      JComboBox  taskByComboBox = null;
      private void initUI_comboBoxPanel()
        {
            
            taskByComboBox = new JComboBox();
            taskByComboBox.setBackground(Color.WHITE);
        }另外一个方法里写了如下的几句
    if (  taskByComboBox.getItemCount() >= 2 )
     
            {
                taskByComboBox.setEnabled(true);       
            }
            else
            {
                taskByComboBox.setEnabled(false);
            }上面都在初始化时调用了