MouseListener - 不适用于 JTextArea
MouseListener - not working on JTextArea
我有一个扩展 JFrame 的 Gui-class。顶部有一个 JMenuBar,其余由一个大的 JTextField 组成。
我已经为此 class 实现了一个 mouseListener,问题是它似乎只在单击 JMenuBar 而不是 JTextArea 时进行监听。所以我的问题是如何让 mouseListener 对 JTextArea
上的鼠标单击做出反应
这是 Gui-class(构造函数)
的快照
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);
}
将鼠标监听器添加到文本区域而不是 window。
textArea = new JTextArea();
textArea.addMouseListener(this);
我有一个扩展 JFrame 的 Gui-class。顶部有一个 JMenuBar,其余由一个大的 JTextField 组成。
我已经为此 class 实现了一个 mouseListener,问题是它似乎只在单击 JMenuBar 而不是 JTextArea 时进行监听。所以我的问题是如何让 mouseListener 对 JTextArea
上的鼠标单击做出反应这是 Gui-class(构造函数)
的快照 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);
}
将鼠标监听器添加到文本区域而不是 window。
textArea = new JTextArea();
textArea.addMouseListener(this);