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 に答える