1

如何设置JTextField刚刚JLabel点击的?

我应该添加什么:

 public void mouseClicked(java.awt.event.MouseEvent evt) {
      jLabel2MouseClicked(evt);
 } 

 private void jLabel2MouseClicked(java.awt.event.MouseEvent evt) {

 }
4

1 回答 1

3

我也会质疑允许点击标签的原因。为什么不使用按钮?

无论如何,假设你有充分的理由,你可以这样做:

    final JFrame frame = new JFrame();
    final JLabel label1 = new JLabel("Label 1");
    final JLabel label2 = new JLabel("Label 2");
    final JTextField textField = new JTextField();
    MouseListener mouseListener = new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            textField.setText(((JLabel) e.getSource()).getText());
        }

    };
    label1.addMouseListener(mouseListener);
    label2.addMouseListener(mouseListener);
    frame.add(label1, BorderLayout.NORTH);
    frame.add(label2, BorderLayout.CENTER);
    frame.add(textField, BorderLayout.SOUTH);
    frame.pack();
    frame.setVisible(true);
于 2012-04-21T08:08:26.270 回答