点击时如何让JPanel看起来像?

eli*_*eli -1 java swing jpanel mouselistener

在Java Swing中,如何JPanel在单击时查看按下/按下?我已经MouseListener设置了所有方法,因此mousePressed在单击面板时会调用,但是如何使其具有所选的外观,就像它缩进屏幕一样?

Daw*_*ski 6

你应该考虑使用JButton但回答这个问题:



尝试将MouseListener与BevelBorder一起使用,例如:

yourPanel.addMouseListener(new MouseListener() {
        Border b = new BevelBorder(BevelBorder.LOWERED);
        Border originalBorder = null;
        @Override
        public void mouseReleased(MouseEvent e) {
            ((JComponent)e.getComponent()).setBorder(originalBorder);
        }

        @Override
        public void mousePressed(MouseEvent e) {
            originalBorder = ((JComponent)e.getComponent()).getBorder();
            ((JComponent)e.getComponent()).setBorder(b);
        }
        ...
    });
Run Code Online (Sandbox Code Playgroud)

例子:

没有点击:

没有点击


点击:

点击

  • 我觉得你的答案很好.它提到了两种主要的解决方案,并详细介绍了其中一种解决方案.干得好. (3认同)