我试图在单击时在 JLabel
周围绘制边框。就像 JButtons
被绘制一样。
我以为这很容易,但我没能完成这项工作。
我试图通过在源代码中放置断点来弄清楚单击JButtons
时会发生什么。但我迷失了,但是,我有一种感觉 javax.swing.plaf
及其子包就是我需要的。
我说得对吗?有没有更简单的方法来完成这项工作。
这是一个例子:
最佳答案
您可以将 MouseListener
添加到标签中,并在 mousePressed/mouseReleased 方法中设置边框。这是一个简化的示例:
label.addMouseListener(new MouseAdapter(){
@Override
public void mousePressed(MouseEvent arg0) {
label.setBorder(BorderFactory.createLineBorder(Color.black));
}
@Override
public void mouseReleased(MouseEvent arg0) {
label.setBorder(null);
}
});
此外,作为替代方案,您可以制作一个看起来像标签的平面样式按钮。这个answer可能有用。
关于java - 当选择 JLabel 时,在 JLabel 周围绘制边框,如按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8112657/