gpt4 book ai didi

java - MouseListener - 不适用于 JTextArea

转载 作者:行者123 更新时间:2023-11-30 08:14:10 25 4
gpt4 key购买 nike

我有一个扩展 JFrame 的 Gui 类。顶部有一个 JMenuBar,其余部分由一个大的 JTextField 组成。

我已经为这个类实现了一个 mouseListener,问题是它似乎只在单击 JMenuBar 时才监听,而不是 JTextArea。所以我的问题是如何让 mouseListener 对 JTextArea 上的鼠标单击使用react

这是 Gui 类(构造函数)的快照

 public class Gui extends JFrame implements ActionListener, MouseListener {

private JMenu fileMenu;
private JTextArea textArea;
private JFileChooser chooser;

public static void main(String[] args) {

new Gui().setVisible(true);

}

public Gui() {

setSize(600, 600);
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
setLocation(dim.width/2-this.getSize().width/2, dim.height/2-this.getSize().height/2);

createFileMenu();

JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
menuBar.add(fileMenu);

textArea = new JTextArea();

JScrollPane scroll = new JScrollPane (textArea,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

Container contentPane = getContentPane();
contentPane.add(scroll);

chooser = new JFileChooser();

addMouseListener(this);

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

Screenshot

最佳答案

将鼠标监听器添加到文本区域而不是窗口。

 textArea = new JTextArea();
textArea.addMouseListener(this);

关于java - MouseListener - 不适用于 JTextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29644239/

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