不带单选按钮的图片用户输入java

不带单选按钮的图片用户输入java,java,image,radio-button,user-input,Java,Image,Radio Button,User Input,我正在创建一个程序,用户点击作为问题输入的4张图片中的1张。回答问题后,窗口将转到下一个问题。我该怎么办?我应该为图像使用案例,还是它们更有效 例如: 问题是哪个形象是朵拉的? 届时将有多拉、布拉德·皮特、赛琳娜·戈麦斯和达菲·鸭子的形象。 如果用户在没有单选按钮的图像上单击,程序应保存输入并转到下一个问题 我的问题是如何使用户单击的图像成为可以保存的输入。我建议使用ImageIcon构造函数创建JLabel,让类实现MouseListener,然后对每个JLabel使用addMouseList

我正在创建一个程序,用户点击作为问题输入的4张图片中的1张。回答问题后,窗口将转到下一个问题。我该怎么办?我应该为图像使用案例,还是它们更有效

例如: 问题是哪个形象是朵拉的? 届时将有多拉、布拉德·皮特、赛琳娜·戈麦斯和达菲·鸭子的形象。 如果用户在没有单选按钮的图像上单击,程序应保存输入并转到下一个问题


我的问题是如何使用户单击的图像成为可以保存的输入。

我建议使用ImageIcon构造函数创建JLabel,让类实现MouseListener,然后对每个JLabel使用addMouseListener方法。您是想为每一个实例创建一个匿名MouseListener,还是只使用类实例取决于您自己。以下是一个有助于您入门的示例:

import java.awt.BorderLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;

public class Test implements MouseListener {
    private JLabel imageLabel1, imageLabel2;

    public Test() {
        JFrame frame = new JFrame("Test");
        frame.setLayout(new BorderLayout());

        JLabel introLabel = new JLabel("Click an image");
        introLabel.setHorizontalAlignment(SwingConstants.CENTER);
        frame.add(introLabel,BorderLayout.NORTH);

        imageLabel1 = new JLabel(new ImageIcon("image1.png"));
        frame.add(imageLabel1,BorderLayout.WEST);
        imageLabel1.addMouseListener(this);

        imageLabel2 = new JLabel(new ImageIcon("image2.png"));
        frame.add(imageLabel2,BorderLayout.EAST);
        imageLabel2.addMouseListener(this);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }

    @Override
    public void mouseClicked(MouseEvent ev) {
        if (ev.getSource() == imageLabel1)
            System.out.println("Image 1 clicked");
        if (ev.getSource() == imageLabel2)
            System.out.println("Image 2 clicked");
    }

    @Override public void mouseEntered(MouseEvent ev) {}
    @Override public void mouseExited(MouseEvent ev) {}
    @Override public void mousePressed(MouseEvent ev) {}
    @Override public void mouseReleased(MouseEvent ev) {}

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new Test();
            }
        });
    }
}

是否存储表示单击图像的int?例如,int-answer=0;如果单击图像,则回答=1;等等,谢谢!你知道我如何使图片可点击吗?我不想要单选按钮