私はまた、ラベルをクリックできるようにした理由を問うだろう。なぜボタンを使用しないのですか?とにかく
は、あなたが正当な理由を持っていると仮定すると、これは、あなたがそれを行うことができる方法である:
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);
あなたは、このようなフィールドとして、あなたの例のコードにいくつかのより多くのコンテキストを追加してもらえますか?また、ユーザーがラベルをクリックできるようにしていることは疑いがあります。 –
はい私はラベルをクリックすることを許可しています。また、JtextFieldにラベルを設定したい場合は、クリックしてください。 – user1276381
これはちょっと変わったようですが、jLabelをクリックすると(setVisible(false))、JLabelを非表示にして、Jtextfieldを同じ場所に配置することができます。なぜあなたがそのアプローチを取るのかは分かりません。 – Chris911