gpt4 book ai didi

java - 使用 JTextField 进行可重复使用的删除确认

转载 作者:行者123 更新时间:2023-12-02 07:06:42 28 4
gpt4 key购买 nike

我正在尝试创建一个用于删除对象的确认窗口,该窗口要求用户在文本字段中输入“删除”一词以确认其操作,然后单击标有“删除”的按钮。此外,它还有标准的“取消”按钮。

下面是我想要的基本想法,但我不确定如何正确返回 boolean 值:

public static boolean confirmDelete(String msg) {
JPanel panel = new JPanel();
JPanel sPanel1 = new JPanel();
JPanel ssPanel1 = new JPanel();
ssPanel1.setLayout(new BoxLayout(ssPanel1, BoxLayout.Y_AXIS));
JLabel lbl = new JLabel(msg);
confirm = new JTextField(10);
ssPanel1.add(lbl);
ssPanel1.add(confirm);
JPanel ssPanel2 = new JPanel();
ssPanel2.setLayout(new BoxLayout(ssPanel2, BoxLayout.Y_AXIS));
JButton ok = new JButton("Delete");
ok.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if(confirm.getText().toLowerCase().equals("delete")) {
//Set the returned value to true;
} else {
alertMsg("Invalid input. Please try again.");
}
}
});
JButton cancel = new JButton("Cancel");
cancel.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
//Set the returned value to false;
}
});
ssPanel2.add(ok);
ssPanel2.add(cancel);
sPanel1.add(ssPanel1);
sPanel1.add(ssPanel2);
panel.add(sPanel1);

JFrame deleteFrm = new JFrame("Confirm Delete");
deleteFrm.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

//Add content to the window.
deleteFrm.setContentPane(panel);

//Display the window.
deleteFrm.pack();

deleteFrm.setVisible(true);
}

基本上,我想使用行 boolean deleteItem = ClassName.confirmDelete(msg); 调用此窗口,并让它返回 boolean 值以说明他们是否正确确认了删除地位。我如何设置它以返回代码示例中所示的 boolean 值(这是一种伪代码,因为它显然是不正确的)。这是否可以通过如上所述的单行调用来实现?

最佳答案

使用JOptionPane代替..会更容易获得用户选择结果然后决定逻辑代码..看看这里例如 JOptionPane YES/No Options Confirm Dialog Box Issue -Java或这里 google search results: JOPtionPane examples

关于java - 使用 JTextField 进行可重复使用的删除确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16024109/

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