我用这个代码,以确保从文本框每个给定的数据是正确的。检查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
如果没有,则数据将被保存在JTable的空,那是正常的! – 2013-02-15 08:52:26
@Yohan我想强制用户输入正确的数据或单击取消并处理页面! – Sajad 2013-02-15 08:53:37
内“OkButtonActionPerformed”,如果所有的布尔方法调用是“假”,那么你需要显示的消息,而不是走在前面。这是你需要的吗? – 2013-02-15 09:01:37