首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >J标签和J复选框

J标签和J复选框
EN

Stack Overflow用户
提问于 2017-01-05 14:00:31
回答 2查看 253关注 0票数 0

我有一个Jlabel和一个checkbox。我想创建它,这样我就可以点击Jlabel,然后复选框就会被勾选。我需要它成为一个标签,因为我把它用来做别的事情。通常我只需要一个只有一些文本的复选框,但这一次我需要一个标签和复选框,并且当点击时我需要标签来勾选复选框。下面是我的代码。我试图向标签添加一个动作侦听器,但我得到一个错误,说它是一个未定义的类型。谢谢..。

代码语言:javascript
复制
 JCheckBox _mycheckbox = new JCheckBox();
 JLabel _mylabel = new JLabel(_mylabel);
EN

回答 2

Stack Overflow用户

发布于 2017-01-05 14:22:22

简单的方法是将文本分配给复选框本身:

代码语言:javascript
复制
JCheckBox _mycheckbox = new JCheckBox("Tick Me"); //gives you checkbox, along with clickable text

另一种选择是让标签上的操作侦听器模拟点击复选框:

代码语言:javascript
复制
_mylabel.addActionListener((e)->_mycheckbox.doClick()); //java 8 lambda

在Java 8之前,您可以执行以下操作

代码语言:javascript
复制
_mylabel.addActionListener(new ActionListener(){
   @Override
   public void actionPerformed(ActionEvent ae){
      _mycheckbox.doClick();
   }
});
票数 2
EN

Stack Overflow用户

发布于 2017-01-05 14:06:22

您可以考虑将MouseListener添加到JLabel并覆盖mouseClicked()方法。

代码语言:javascript
复制
_mylabel.addMouseListener(new MouseAdapter(){
    @Override
    public void mouseClicked(MouseEvent e){
        //do whatever                    
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41478206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档