Source Code : Component Hints Example

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

Component Hints Example

Component Hints Example
/*
Code revised from Desktop Java Live:
http://www.sourcebeat.com/downloads/
*/
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;

import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

import com.jgoodies.binding.PresentationModel;
import com.jgoodies.binding.adapter.BasicComponentFactory;
import com.jgoodies.binding.value.ValueModel;
import com.jgoodies.forms.builder.DefaultFormBuilder;
import com.jgoodies.forms.builder.PanelBuilder;
import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.validation.ValidationCapable;
import com.jgoodies.validation.ValidationResult;
import com.jgoodies.validation.util.DefaultValidationResultModel;
import com.jgoodies.validation.util.PropertyValidationSupport;
import com.jgoodies.validation.util.ValidationResultModel;
import com.jgoodies.validation.util.ValidationUtils;
import com.jgoodies.validation.view.ValidationComponentUtils;
import com.jgoodies.validation.view.ValidationResultViewFactory;

public class ComponentHintsExample extends JPanel {
    private Feed feed;
    private FeedPresentationModel feedPresentationModel;
    private JPanel panel1;
    private JPanel panel2;
    private JPanel panel3;
    private JComponent iconPanel;
    private ValidationResultModel validationModel;

    public ComponentHintsExample() {
        this.validationModel = new DefaultValidationResultModel();

        createFeed();
        this.feedPresentationModel = new FeedPresentationModel(this.feed);
        ValueModel nameModel = this.feedPresentationModel.getModel("name");

        DefaultFormBuilder formBuilder1 = new DefaultFormBuilder(new FormLayout("right:pref, 3dlu, p:g"));
        JTextField nameField1 = BasicComponentFactory.createTextField(nameModel, false);
        ValidationComponentUtils.setMandatory(nameField1, true);
        ValidationComponentUtils.setMessageKey(nameField1, "form.name_key");
        formBuilder1.append("Name:", nameField1);

        DefaultFormBuilder formBuilder2 = new DefaultFormBuilder(new FormLayout("right:pref, 3dlu, p:g"));
        JTextField nameField2 = BasicComponentFactory.createTextField(nameModel, false);
        ValidationComponentUtils.setMandatory(nameField2, true);
        ValidationComponentUtils.setMessageKey(nameField2, "form.name_key");
        formBuilder2.append("Name:", nameField2);

        DefaultFormBuilder formBuilder3 = new DefaultFormBuilder(new FormLayout("right:pref, 3dlu, p:g"));
        JTextField nameField3 = BasicComponentFactory.createTextField(nameModel, false);
        ValidationComponentUtils.setMandatory(nameField3, true);
        ValidationComponentUtils.setMessageKey(nameField3, "form.name_key");
        formBuilder3.append("Name:", nameField3);

        DefaultFormBuilder formBuilder4 = new DefaultFormBuilder(new FormLayout("right:pref, 4dlu, p:g"));
        JTextField nameField4 = BasicComponentFactory.createTextField(nameModel, false);
        ValidationComponentUtils.setMandatory(nameField4, true);
        ValidationComponentUtils.setMessageKey(nameField4, "form.name_key");
        formBuilder4.append("Name:", nameField4);
        //Padding for overlay icon
        formBuilder4.appendRow("5dlu");

        this.panel1 = formBuilder1.getPanel();
        this.panel2 = formBuilder2.getPanel();
        this.panel3 = formBuilder3.getPanel();
        this.iconPanel = new IconFeedbackPanel(this.validationModel, formBuilder4.getPanel());

        PanelBuilder builder = new PanelBuilder(new FormLayout("p:g"));
        builder.setDefaultDialogBorder();

        builder.appendRow("p");
        builder.add(this.panel1);
        builder.nextLine();

        builder.appendRow("p");
        builder.add(this.panel2);
        builder.nextLine();

        builder.appendRow("p");
        builder.add(this.panel3);
        builder.nextLine();

        builder.appendRow("4dlu");
        builder.nextLine();

        builder.appendRow("p");
        builder.add(this.iconPanel);
        builder.nextLine();

        builder.appendRow("4dlu");
        builder.nextLine();

        builder.appendRow("p:g");
        builder.nextLine();

        builder.appendRow("p");
        builder.addLabel("Results");
        builder.nextLine();
        builder.appendRow("50dlu");
        builder.add(ValidationResultViewFactory.createReportList(this.validationModel));

        add(builder.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");
    }

    public class FeedPresentationModel extends PresentationModel implements ValidationCapable {
        private ValidationResultModel validationResultModel;

        public FeedPresentationModel(Object bean) {
            super(bean);
            this.validationResultModel = new DefaultValidationResultModel();
            initEventHandling();
        }

        public ValidationResultModel getValidationModel() {
            return this.validationResultModel;
        }

        public ValidationResult validate() {
            PropertyValidationSupport support = new PropertyValidationSupport(feed, "form");

            String name = (String) getModel("name").getValue();
            if (!ValidationUtils.isEmpty(name)) {
                if (!"ClientJava.com".equals(name)) {
                    support.addWarning("name_key", "is not ClientJava.com");
                }
                if (name.length() < 5) {
                    support.addError("name_key", "must be more than 4 characters long.");
                }
            }

            return support.getResult();
        }

        private void initEventHandling() {
            PropertyChangeListener handler = new ValueUpdateHandler();
            addBeanPropertyChangeListener(handler);
            getBeanChannel().addValueChangeListener(handler);
        }


        public class ValueUpdateHandler implements PropertyChangeListener {
            public void propertyChange(PropertyChangeEvent evt) {
                updateComponents();
            }

            private void updateComponents() {
                ValidationResult result = validate();
                validationModel.setResult(result);

                ValidationComponentUtils.updateComponentTreeMandatoryAndBlankBackground(panel1);
                ValidationComponentUtils.updateComponentTreeMandatoryBackground(panel2);
                ValidationComponentUtils.updateComponentTreeMandatoryBorder(panel3);
                ValidationComponentUtils.updateComponentTreeValidationBackground(panel1, result);
            }
        }
    }

    public static void main(String[] a){
      JFrame f = new JFrame("Component Hints Example");
      f.setDefaultCloseOperation(2);
      f.add(new ComponentHintsExample());
      f.pack();
      f.setVisible(true);
    }
}


           
       

Thank with us