Я пытаюсь создать окно подтверждения для удаления объектов, требующих ввода пользователем слова «Удалить» в текстовое поле, чтобы подтвердить их действие, а затем нажмите кнопку с надписью «Удалить», , Кроме того, у него будет стандартная кнопка «Отмена».Подтверждение повторного удаления с помощью JTextField
Ниже основная идея о том, что я хочу, но я не знаю, как вернуть булево правильно:
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);
и вернуть ему логическое значение, чтобы указать, правильно ли они подтвердили статус удаления. Как я могу установить это, чтобы возвращать логическое значение, как показано в примере кода (что является своего рода псевдокодом, поскольку оно явно неверно). Возможно ли это с помощью однолинейного вызова, как указано?
Используйте последовательный и логический отступ для кодовых блоков. Отступ кода предназначен для того, чтобы помочь людям понять поток программы! –
Я использую отступы для отображения вложенных объектов при работе с пользовательскими интерфейсами, чтобы упростить отслеживание расположения объектов, когда они находятся внутри другого объекта, и упростить поиск, где мне нужно добавить/отредактировать/удалить элемент (хотя я делаю возможно, увлекся тем, что свойства элемента также отступы). Это то, что я делаю для себя, чтобы облегчить будущие изменения, но я забыл удалить его для публикации, извините. – DGolberg