繁体   English   中英

将鼠标侦听器添加到绘制字符串文本

[英]add mouse listener to a draw string text

我想在文本中添加一个鼠标侦听器。 可行吗? 谢谢

BufferStrategy bs=this.getBufferStrategy();

if(bs==null){
    createBufferStrategy(3);
    return;
}

Graphics g=bs.getDrawGraphics();

g.fillRect(0, 0, 800, 400);

g.setFont(new Font("Verdana",0 ,50));
g.setColor(Color.WHITE);

g.drawString("Play", 600, 60);

由于您的Graphics对象不了解其上的各个“项目”,因此无法将侦听器本身添加到文本“ Play”中。

一种方法是不使用一个“大” Graphics对象,而是为“播放”文本使用一个单独的组件。 您可以将侦听器附加到此较小的组件。 另一种方法是将侦听器添加到“大”组件,并在click事件中查询鼠标坐标。

您可以尝试这样的事情。

 final JTextField textField = new JTextField("Text goes here");
        textField.addMouseListener(new MouseAdapter(){
            @Override
            public void mouseClicked(MouseEvent e){
                //take some action here
            }
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM