Я использую этот код, чтобы гарантировать, что все данные из текстовых полей верны.Check JTextField Данные Данные
Но в dateTextField, когда я даю ему что-либо или оставляю его пустым, отображается его сообщение об ошибке, но когда я нажимаю кнопку «Сохранить», эти данные будут сохранены в моем JTable!
Где моя ошибка?
public class AddBookDialog extends javax.swing.JDialog {
public AddBookDialog(JFrame owner){
super(owner,"New Book",true);
...
}
BookInformation bookinform;
private void OkButtonActionPerformed(java.awt.event.ActionEvent evt) {
bookinform=new BookInformation();
if(!BookIDControl()){
return;
}
if(!BookNameControl()){
return;
}
if(!BookDateControl()){
return;
}
bookinform.setBorrowStatus("No");
AddBookDialog.this.dispose();
}
public BookInformation getBookInfos() throws NullPointerException{
return bookinform;
}
public boolean BookNameControl(){
bookinform.setBookName(BookNametextfiled.getText());
if(bookinform.getBookName().trim().isEmpty()){
errorLable.setText("Empty Book Name");
return false;
}
if(havedigit(bookinform.getBookName().trim())){
errorLable.setText("Book Name Have Digit");
return false;
}
return true;
}
public boolean BookDateControl(){
bookinform.setBookDate(BookDatetextfield.getText().trim());
if(bookinform.getBookDate().trim().isEmpty()){
errorLable.setText("Empty Book Date");
return false;
}
else if(haveSpace(bookinform.getBookDate().trim())){
errorLable.setText("Space in Book Date!");
return false;
}
else if(haveletter(bookinform.getBookDate().trim())){
errorLable.setText("Letter in Book Date");
return false;
}
return true;
}
public boolean BookIDControl(){
bookinform.setBookID(BookidTextfield.getText().trim());
if(bookinform.getBookID().trim().isEmpty()){
errorLable.setText("Empty Book ID");
return false;
}
if(haveSpace(bookinform.getBookID().trim())){
errorLable.setText("Space in Book ID !");
return false;
}
if(haveletter(bookinform.getBookID().trim())){
errorLable.setText("Letter in Book ID");
return false;
}
return true;
}
...
Второй класс:
public class AllBooksM extends JFrame implements ActionListener{
...
if(e.getSource()==AddBookButton){
AllBooks allBooks=new AllBooks();
AddBookDialog add_book=new AddBookDialog(AllBooksM.this);
add_book.setVisible(true);
BookInformation B_info=add_book.getBookInfos();
if(B_info != null){
allBooks.AddRow(B_info);
}
// bookcount();
}
...
}
Мой выход:
26 thired 62 Yes
29 sixth 92 No
35 vff 53 No
34332 dsds null
3434 ssdas null
222 fgfgf null
77 sds null
Если ничего нет, тогда данные будут сохранены как null в JTable, это нормально! –
@Yohan Я хочу заставить пользователя ввести правильные данные или нажать кнопку «Отменить» и удалить страницу! – Sajad
внутри «OkButtonActionPerformed», если все вызовы логических методов «ложны», тогда вам нужно отобразить сообщение, а не идти вперед. Это то, что вам нужно? –