gpt4 book ai didi

java - 按下 JList 元素时弹出窗口 - Java

转载 作者:行者123 更新时间:2023-12-01 11:54:48 25 4
gpt4 key购买 nike

我的代码有一个小问题,我想实现什么:

  1. 当我单击 JList 项时,它应该会弹出一个窗口,提供一条消息。
  2. 弹出窗口应具体引用我点击的元素,例如我按汽车,它应该类似于“您点击的车辆是汽车”

我到目前为止编写的代码:

  import java.awt.FlowLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JFrame;
javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;

public class Test extends JFrame {
private JList list;
private static String[] names = { "car ", "bike", "skate" };

public Test() {
super("title");
setLayout(new FlowLayout());
setSize(650, 800);

list = new JList(names);
list.setVisibleRowCount(3);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
add(new JScrollPane(list));
setVisible(true);
MouseListener mouseListener = new MouseAdapter() {
public void mouseisClicked(MouseEvent mouseEvent) {
if (mouseEvent.getClickCount() == 2) {
JOptionPane.showMessageDialog(null, "testing");
}
}
};
setVisible(true);
}

public static void main(String agrs[]) {
Test t1 = new Test();
}
}

最佳答案

您可以使用MouseEvent来获取生成该事件的组件:

JList list = (JList)mouseEvent.getSource();
System.out.println(list.getSelectedValue().toString());

编辑:

public void mouseisClicked(MouseEvent mouseEvent) {

您没有实现正确的方法。应该是:

@Override
public void mouseClicked(MouseEvent mouseEvent) {

当您重写方法时,请始终使用 @Override 以防止出现输入错误。

关于java - 按下 JList 元素时弹出窗口 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28529140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com