选中一个JButton(JComponent就行)的时候,在button的每一个角落以及中线上都出现一个很小的方块,用来表示这个button被选中了,就和netbeans中GUI设计时选中一个组件时效果一样,请问如何实现这种效果呢?

解决方案 »

  1.   


    使用一个标志boolean selected记录button被选中,在mousedown事件发生后selected为true, mouseup后selected为false,在button的paintComponent方法中,如果selected为true,则画出小方块就可以了。
      

  2.   

    问题是画的小方块在button之外的地方都无法显示,实际效果是在button之外还有一小块需要显示,像下图这样
      

  3.   

    不是JToggleButton,比如说在一个JPanel里面,放了10个JComponent组件,点击组件一的时候,组件一就在每个角落和中线处加一个小方块来表示我选中了这个组件,当选择了组件二的时候,组件一上的小方块消失,组件二又画上同样的小方块
      

  4.   

    使用一个标志boolean selected记录button被选中,在mousedown事件发生后selected为true, mouseup后selected为false,在button的paintComponent方法中,如果selected为true,则画出小方块就可以了
      

  5.   

    使用一个定制Border。
    被选中,也就是焦点在其上是setBorder(new CustomBorder());
    反之,恢复为默认的Border