ImageIcon과 현재 이미지를 클릭하여 다른 이미지로 대체 할 addMouseListener를 사용하여 JFrame의 이미지에서 버텀을 만들려고합니다.JLabel에서 생성 된 이미지 버튼이 작동하지 않습니다.
static JPanel jp = new JPanel();
final JLabel jl = new JLabel();
final JFrame jf = new JFrame();
ImageIcon image = new ImageIcon("image1.jpg");
jl.setIcon(image);
jp.add(jl);
jf.add(jp);
jf.validate();
JLabel button = new JLabel(image);
button.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
jl.setIcon(null);
ImageIcon image = new ImageIcon("image2.jpg");
jl.setIcon(image);
}
});
GUI는 image1.jpg와 함께 표시되지만 버튼이 전혀 작동하지 않으며 이미지 1에서 이미지 2로 교체할지 여부도 테스트 할 수 없습니다. 창에 표시된 image1.jpg를 클릭해도 GUI는 아무런 작업도 수행하지 않습니다.
편집 : 조정 된 JLabel은 현재 최종적입니다. 다른 유사한 질문이 친밀한이 방법은 작동해야하지만 코드를 잘못 무엇인지 알아낼 수 없습니다.
버튼에'ActionListener'를 사용해야합니다. –
나는 액션을 명령하기 위해 이미지를 클릭 할 수있게하려고하고있다. ActionListener가 JLabel과 함께 작동하는지 확실하지 않습니다. –
"버튼"변수는 어떤 종류입니까? 선언 및 초기화 방법을 보여주십시오. 제목은 JLabel임을 나타내며, 그렇다면 실제로 변수 이름이 JButton 또는 이와 유사한 것으로 제시되므로 오해의 소지가 있습니다. 귀하의 질문을 명확히 해보십시오. –