Source Code : JGoodies Binding: Abstract Table Model 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

JGoodies Binding: Abstract Table Model Example

JGoodies Binding: Abstract Table Model Example
/*
Code revised from Desktop Java Live:
http://www.sourcebeat.com/downloads/
*/
import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListModel;

import com.jgoodies.binding.adapter.AbstractTableAdapter;
import com.jgoodies.binding.adapter.Bindings;
import com.jgoodies.binding.adapter.SingleListSelectionAdapter;
import com.jgoodies.binding.list.ArrayListModel;
import com.jgoodies.binding.list.SelectionInList;
import com.jgoodies.forms.builder.DefaultFormBuilder;
import com.jgoodies.forms.layout.FormLayout;

public class AbstractTableModelExample extends JPanel {
    private ArrayListModel arrayListModel;

    public AbstractTableModelExample() {
      super(new BorderLayout());
        DefaultFormBuilder defaultFormBuilder = new DefaultFormBuilder(new FormLayout("p, 2dlu, p:g"));
        defaultFormBuilder.setDefaultDialogBorder();

        this.arrayListModel = new ArrayListModel();
        this.arrayListModel.add(new DisplayTechnology("Swing", "Is a Java API", "Sun"));
        this.arrayListModel.add(new DisplayTechnology("Flash", "Is NOT a Java API", "Macromedia"));
        this.arrayListModel.add(new DisplayTechnology("SWT", "Is a Java API", "Eclipse"));
        this.arrayListModel.add(new DisplayTechnology("QT", "Is NOT a Java API", "Trolltech"));
        this.arrayListModel.add(new DisplayTechnology("AWT", "Is a Java API", "Sun"));

        SelectionInList selectionInList = new SelectionInList((ListModel) this.arrayListModel);

        JList jlist = new JList();
        Bindings.bind(jlist, selectionInList);
        defaultFormBuilder.append("List Model: ", new JScrollPane(jlist));

        JTable table = new JTable(new DisplayTechnologyTableAdapter(selectionInList, new String[]{"Name", "Description",
            "Maker"}));
        table.setSelectionModel(new SingleListSelectionAdapter(
                selectionInList.getSelectionIndexHolder()));
        JScrollPane scrollPane = new JScrollPane(table);
        scrollPane.setPreferredSize(table.getPreferredSize());
        defaultFormBuilder.append("Table", scrollPane);

        add(defaultFormBuilder.getPanel());
    }

    private class DisplayTechnology {
        private String name;
        private String description;
        private String maker;

        public DisplayTechnology(String name, String description, String maker) {
            this.name = name;
            this.description = description;
            this.maker = maker;
        }

        public String getName() {
            return name;
        }

        public String getDescription() {
            return description;
        }

        public String getMaker() {
            return maker;
        }

        public String toString() {
            return name;
        }
    }

    private class DisplayTechnologyTableAdapter extends AbstractTableAdapter {
        public DisplayTechnologyTableAdapter(ListModel listModel, String[] columnNames) {
            super(listModel, columnNames);
        }

        public Object getValueAt(int rowIndex, int columnIndex) {
            DisplayTechnology displayTechnology = (DisplayTechnology) getRow(rowIndex);
            if (columnIndex == 0) {
                return displayTechnology.getName();
            } else if (columnIndex == 1) {
                return displayTechnology.getDescription();
            } else {
                return displayTechnology.getMaker();
            }
        }
    }

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

           
       

Thank with us