如何为JLabel创建快捷键?

问题描述 投票:0回答:1

enter image description here

我有一个清单JLabel。我希望在单击JTextArea中的标签内容时保持不变。为什么当我单击标签时,文本区域不显示?

代码:

   jLabel0.setText(namelist.get(0));
   jLabel1.setText(namelist.get(1));
   jLabel2.setText(namelist.get(2));
   jLabel3.setText(namelist.get(3));
   jLabel4.setText(namelist.get(4));
   jLabel5.setText(namelist.get(5));
    //String  b[]={"jLabel4","jLabel5","jLabel7","jLabel8","jLabel9","jLabel10"};
   for (int i=0;i<k;i++){

   String f=String.valueOf(i);
   JLabel jlb = new JLabel("jLabel"+f);
   String Af=file_list.get(i);
   FileReader F=new FileReader(Af);
   jlb.addMouseListener(new MouseListener(){
        public void mouseReleased(MouseEvent e) {
         }

        public void mousePressed(MouseEvent e) {
        }

        public void mouseExited(MouseEvent e) {
        }

        public void mouseEntered(MouseEvent e) {
        }

        public void mouseClicked(MouseEvent e) {
            if(e.getClickCount()==1)
            {

                try {
                    jTextArea3.read(F,"");
                } catch (IOException ex) {
                    Logger.getLogger(FAKENEWS.class.getName()).log(Level.SEVERE, null, ex);
                }
            }

        }
    });
   }
java swing mouseevent jlabel
1个回答
0
投票

您可以简单地使用JButton并通过使按钮看起来像标签来实现它。创建按钮后,您将需要执行以下操作:

     setFocusPainted(false);
     setMargin(new Insets(0, 0, 0, 0));
     setContentAreaFilled(false);
     setBorderPainted(false);
     setOpaque(false);

[如果希望它实际绘制焦点,则可能要排除setFocusPainted(false)(例如Windows外观上的虚线边框)。

然后,您可以使用按钮事件处理程序执行所需的操作。

© www.soinside.com 2019 - 2024. All rights reserved.