Mega Code Archive

 
Categories / Java / Swing Components
 

Error Dialog Example

/* Code revised from Desktop Java Live: http://www.sourcebeat.com/downloads/ */ import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import com.jgoodies.forms.builder.DefaultFormBuilder; import com.jgoodies.forms.layout.FormLayout; public class ErrorDialogExample extends JPanel {     JTextField nameField;     JTextField siteField;     JTextField feedField;     Feed feed;     public ErrorDialogExample() {         DefaultFormBuilder formBuilder = new DefaultFormBuilder(new FormLayout(""));         formBuilder.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));         formBuilder.appendColumn("right:pref");         formBuilder.appendColumn("3dlu");         formBuilder.appendColumn("fill:p:g");         this.nameField = new JTextField();         formBuilder.append("Name:", this.nameField);         this.siteField = new JTextField();         formBuilder.append("Site Url:", this.siteField);         this.feedField = new JTextField();         formBuilder.append("Feed Url:", this.feedField);         formBuilder.append(new JButton(new ShowFeedInformationAction()), 3);         createFeed();         initializeFormElements();         add(formBuilder.getPanel());     }     private void createFeed() {         this.feed = new Feed();         this.feed.setName("ClientJava.com");         this.feed.setSiteUrl("http://www.clientjava.com/blog");         this.feed.setFeedUrl("http://www.clientjava.com/blog/rss.xml");     }     private void initializeFormElements() {         this.nameField.setText(this.feed.getName());         this.siteField.setText(this.feed.getSiteUrl());         this.feedField.setText(this.feed.getFeedUrl());     }     private void synchFormAndFeed() {         this.feed.setName(this.nameField.getText());         this.feed.setSiteUrl(this.siteField.getText());         this.feed.setFeedUrl(this.feedField.getText());     }     private boolean validateFeed() {         boolean valid = true;         if (this.nameField.getText().trim().length() == 0) {             JOptionPane.showMessageDialog(null, "Name must not be empty.", "Error", JOptionPane.ERROR_MESSAGE);             valid = false;         }         if (this.siteField.getText().trim().length() == 0) {             JOptionPane.showMessageDialog(null, "Site URL must not be empty.", "Error", JOptionPane.ERROR_MESSAGE);             valid = false;         }         if (this.feedField.getText().trim().length() == 0) {             JOptionPane.showMessageDialog(null, "Feed URL must not be empty.", "Error", JOptionPane.ERROR_MESSAGE);             valid = false;         }         return valid;     }     private Feed getFeed() {         return this.feed;     }     private class ShowFeedInformationAction extends AbstractAction {         public ShowFeedInformationAction() {             super("Show Feed Information");         }         public void actionPerformed(ActionEvent event) {             if (validateFeed()) {                 synchFormAndFeed();                 StringBuffer message = new StringBuffer();                 message.append("<html>");                 message.append("<b>Name:</b> ");                 message.append(getFeed().getName());                 message.append("<br>");                 message.append("<b>Site URL:</b> ");                 message.append(getFeed().getSiteUrl());                 message.append("<br>");                 message.append("<b>Feed URL:</b> ");                 message.append(getFeed().getFeedUrl());                 message.append("</html>");                 JOptionPane.showMessageDialog(null, message.toString());             }         }     }     public static void main(String[] a){       JFrame f = new JFrame("Error Dialog Example");       f.setDefaultCloseOperation(2);       f.add(new ErrorDialogExample());       f.pack();       f.setVisible(true);     } }                     jgoodiesValidation.zip( 277 k)