gpt4 book ai didi

java - 是否可以根据使用一个 MouseListener 单击哪一个文本字段来删除两个单独的文本字段中的文本?

转载 作者:行者123 更新时间:2023-12-01 16:41:24 25 4
gpt4 key购买 nike

我有两个带有文本的 JTextField 和一个 MouseListener:

JTextField tf1 = new JTextField("Input your text here: ");
JTextField tf2 = new JTextField("Input your pattern here: ");
tf1.addMouseListener(mm);
tf2.addMouseListener(mm);

我想删除使用 MouseListener 单击的 TextField 中的文本:

MouseListener mm = new MouseAdapter(){
public void mouseClicked(MouseEvent e){
tf1.setText("");
//tf2.setText("");
}
};

尽管如此,我只能设法删除两个或仅删除一个。我可以再添加一个 MouseListener,但我很好奇是否可以创建这样的 MouseListener,根据我单击的 TextField 删除文本。

最佳答案

试试这个,它将根据鼠标单击文本字段来删除。

import javax.swing.*;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.*;
public class JFrameTest{

public static void main(String[] args){

JFrame frame= new JFrame();
frame.setTitle("JFrame");

JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));

JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints constr = new GridBagConstraints();

constr.gridx=0;
constr.gridy=0;

JTextField txt1 = new JTextField(20);
txt1.setText("abc");
JTextField txt2= new JTextField(20);
txt2.setText("efg");

constr.gridx=1;
panel.add(txt1, constr);
constr.gridy=1;
panel.add(txt2, constr);

MouseListener mm = new MouseAdapter(){
public void mouseClicked(MouseEvent e){
//System.out.println(e);
//System.out.println(e.getSource());

//be sure to have the component in case that listener is added on more objs
if(e.getSource() instanceof JTextField)
{
//set whatever you wanted on each TF individualy
((JTextField)e.getSource()).setText("");
}
}
};
//add the same listener on both but process on each as click
txt1.addMouseListener(mm);
txt2.addMouseListener(mm);

mainPanel.add(panel);

frame.add(mainPanel);
frame.pack();
frame.setSize(400, 400);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

关于java - 是否可以根据使用一个 MouseListener 单击哪一个文本字段来删除两个单独的文本字段中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61854942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com