Сделать JButton невидимым, но кликабельным? - PullRequest
5 голосов
/ 13 апреля 2011

Как мне сделать JButton в Java, невидимым, но кликабельным?

button.setVisible(false); 

делает кнопку невидимой, но не кликабельной, есть ли способ сделать ее невидимой, но кликабельной?

Я пытался сделать:

button.setVisible(false);
button.setEnabled(true);

но это тоже не сработало. Я хочу сделать это, потому что я хочу иметь кнопку с изображением, если я наложу на изображение невидимую кнопку JButton, кнопка будет реагировать при нажатии на изображение или кнопку-невидимку.

Ответы [ 2 ]

19 голосов
/ 13 апреля 2011

Я думаю, что вы имеете в виду прозрачный, а не невидимый.

Это сделает нажимаемую кнопку невидимой, т.е. прозрачной:

button.setOpaque(false);
button.setContentAreaFilled(false);
button.setBorderPainted(false);

Это ответ на заданный вами вопросно если ваше намерение состоит в том, чтобы сделать изображение кликабельным, для этого также есть лучший способ:

ImageIcon myImage = new ImageIcon("images/myImage.jpg");
JButton button = new JButton(myImage);
0 голосов
/ 13 апреля 2011

Ну, нет никакого смысла, так как нет никакого смысла, нет стандартного способа сделать это, но можно переопределить метод рисования JButton и ничего не делать в нем, например:

class InvisibleButton extends JButton {

    @Override
    public void paint(Graphics g){
          // Do nothing here
    }
}

Попробуйте поиграть с этим.

...