« Return to Thread: Netbeans Bean Binding - BindingGroup

Re: Netbeans Bean Binding - BindingGroup

by jasonwpalmer :: Rate this Message:

Reply to Author | View in Thread

Thanks For Your Time Jiri.

This is really driving me crazy here, and I have no doubt the problem is simple, but it does illustrate an ease of use issue with the Beans Binding support in Netbeans. And don't get me wrong, I LOVE Netbeans and appreciate every developer that has contributed, nevertheless I'm having problems figuring this out.

I have a private method defined in the JFrame that contains the main class for this project. The method follows:

private void prepareCategoryList(){
categoryList = ListGenerator.getCategories();
}

And then in constructor before initComponents.

        prepareCategoryList();
        initComponents();

And when I do exactly what you described right-click table that I have been previously using and bind it to the categoryList , java.util.List<Category>, it works fine. The table displays the data from the Database. So I know that the Category List is populated.

However, when a drag and drop a new table fro  the palette and drop it onto the Frame with the other table and bind it, it throws an Exception at startup.

init:
deps-jar:
compile-single:
run-single:
Calling getCategories!
[TopLink Config]: 2008.12.10 10:21:45.343--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The alias name for the entity class [class auto_html_alizer_v1p1.entity.PurchaseOrder] is being defaulted to: PurchaseOrder.
[TopLink Config]: 2008.12.10 10:21:45.436--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The alias name for the entity class [class auto_html_alizer_v1p1.entity.OrderItem] is being defaulted to: OrderItem.
[TopLink Config]: 2008.12.10 10:21:45.483--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The alias name for the entity class [class auto_html_alizer_v1p1.entity.Product] is being defaulted to: Product.
[TopLink Config]: 2008.12.10 10:21:45.499--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The alias name for the entity class [class auto_html_alizer_v1p1.entity.Login] is being defaulted to: Login.
[TopLink Config]: 2008.12.10 10:21:45.499--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The alias name for the entity class [class auto_html_alizer_v1p1.entity.Category] is being defaulted to: Category.
[TopLink Config]: 2008.12.10 10:21:45.499--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The alias name for the entity class [class auto_html_alizer_v1p1.entity.DexriptionBottom] is being defaulted to: DexriptionBottom.
[TopLink Config]: 2008.12.10 10:21:45.514--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The alias name for the entity class [class auto_html_alizer_v1p1.entity.DexriptionTop] is being defaulted to: DexriptionTop.
[TopLink Config]: 2008.12.10 10:21:45.514--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The target entity (reference) class for the many to one mapping element [private auto_html_alizer_v1p1.entity.PurchaseOrder auto_html_alizer_v1p1.entity.OrderItem.purchaseOrder] is being defaulted to: class auto_html_alizer_v1p1.entity.PurchaseOrder.
[TopLink Config]: 2008.12.10 10:21:45.592--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The target entity (reference) class for the one to many mapping element [private java.util.Collection auto_html_alizer_v1p1.entity.PurchaseOrder.orderItemCollection] is being defaulted to: class auto_html_alizer_v1p1.entity.OrderItem.
[TopLink Config]: 2008.12.10 10:21:45.623--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The target entity (reference) class for the one to one mapping element [private auto_html_alizer_v1p1.entity.Product auto_html_alizer_v1p1.entity.DexriptionBottom.product] is being defaulted to: class auto_html_alizer_v1p1.entity.Product.
[TopLink Config]: 2008.12.10 10:21:45.623--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The target entity (reference) class for the one to many mapping element [private java.util.Collection auto_html_alizer_v1p1.entity.Category.productCollection] is being defaulted to: class auto_html_alizer_v1p1.entity.Product.
[TopLink Config]: 2008.12.10 10:21:45.623--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The target entity (reference) class for the many to one mapping element [private auto_html_alizer_v1p1.entity.Category auto_html_alizer_v1p1.entity.Product.categoryId] is being defaulted to: class auto_html_alizer_v1p1.entity.Category.
[TopLink Config]: 2008.12.10 10:21:45.623--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The target entity (reference) class for the one to one mapping element [private auto_html_alizer_v1p1.entity.DexriptionTop auto_html_alizer_v1p1.entity.Product.dexriptionTop] is being defaulted to: class auto_html_alizer_v1p1.entity.DexriptionTop.
[TopLink Config]: 2008.12.10 10:21:45.623--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The target entity (reference) class for the one to one mapping element [private auto_html_alizer_v1p1.entity.Product auto_html_alizer_v1p1.entity.DexriptionTop.product] is being defaulted to: class auto_html_alizer_v1p1.entity.Product.
[TopLink Config]: 2008.12.10 10:21:45.623--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--The target entity (reference) class for the one to one mapping element [private auto_html_alizer_v1p1.entity.DexriptionBottom auto_html_alizer_v1p1.entity.Product.dexriptionBottom] is being defaulted to: class auto_html_alizer_v1p1.entity.DexriptionBottom.
[TopLink Info]: 2008.12.10 10:21:46.294--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--TopLink, version: Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))
[TopLink Fine]: 2008.12.10 10:21:46.669--Thread(Thread[AWT-EventQueue-0,6,main])--Detected Vendor platform: oracle.toplink.essentials.platform.database.MySQL4Platform
[TopLink Config]: 2008.12.10 10:21:46.684--ServerSession(11608737)--Connection(11446032)--Thread(Thread[AWT-EventQueue-0,6,main])--connecting(DatabaseLogin(
        platform=>MySQL4Platform
        user name=> "jasonwpalmer"
        datasource URL=> "jdbc:mysql://localhost:3306/auto_info_db"
))
[TopLink Config]: 2008.12.10 10:21:46.715--ServerSession(11608737)--Connection(9703298)--Thread(Thread[AWT-EventQueue-0,6,main])--Connected: jdbc:mysql://localhost:3306/auto_info_db
        User: jasonwpalmer@localhost
        Database: MySQL  Version: 5.0.45-community-nt
        Driver: MySQL-AB JDBC Driver  Version: mysql-connector-java-5.1.7 ( Revision: ${svn.Revision} )
[TopLink Config]: 2008.12.10 10:21:46.715--ServerSession(11608737)--Connection(8801859)--Thread(Thread[AWT-EventQueue-0,6,main])--connecting(DatabaseLogin(
        platform=>MySQL4Platform
        user name=> "jasonwpalmer"
        datasource URL=> "jdbc:mysql://localhost:3306/auto_info_db"
))
[TopLink Config]: 2008.12.10 10:21:46.731--ServerSession(11608737)--Connection(6923467)--Thread(Thread[AWT-EventQueue-0,6,main])--Connected: jdbc:mysql://localhost:3306/auto_info_db
        User: jasonwpalmer@localhost
        Database: MySQL  Version: 5.0.45-community-nt
        Driver: MySQL-AB JDBC Driver  Version: mysql-connector-java-5.1.7 ( Revision: ${svn.Revision} )
[TopLink Config]: 2008.12.10 10:21:46.731--ServerSession(11608737)--Connection(29494967)--Thread(Thread[AWT-EventQueue-0,6,main])--connecting(DatabaseLogin(
        platform=>MySQL4Platform
        user name=> "jasonwpalmer"
        datasource URL=> "jdbc:mysql://localhost:3306/auto_info_db"
))
[TopLink Config]: 2008.12.10 10:21:46.747--ServerSession(11608737)--Connection(23342038)--Thread(Thread[AWT-EventQueue-0,6,main])--Connected: jdbc:mysql://localhost:3306/auto_info_db
        User: jasonwpalmer@localhost
        Database: MySQL  Version: 5.0.45-community-nt
        Driver: MySQL-AB JDBC Driver  Version: mysql-connector-java-5.1.7 ( Revision: ${svn.Revision} )
[TopLink Config]: 2008.12.10 10:21:46.747--ServerSession(11608737)--Connection(24769387)--Thread(Thread[AWT-EventQueue-0,6,main])--connecting(DatabaseLogin(
        platform=>MySQL4Platform
        user name=> "jasonwpalmer"
        datasource URL=> "jdbc:mysql://localhost:3306/auto_info_db"
))
[TopLink Config]: 2008.12.10 10:21:46.778--ServerSession(11608737)--Connection(28291271)--Thread(Thread[AWT-EventQueue-0,6,main])--Connected: jdbc:mysql://localhost:3306/auto_info_db
        User: jasonwpalmer@localhost
        Database: MySQL  Version: 5.0.45-community-nt
        Driver: MySQL-AB JDBC Driver  Version: mysql-connector-java-5.1.7 ( Revision: ${svn.Revision} )
[TopLink Config]: 2008.12.10 10:21:46.778--ServerSession(11608737)--Connection(25106497)--Thread(Thread[AWT-EventQueue-0,6,main])--connecting(DatabaseLogin(
        platform=>MySQL4Platform
        user name=> "jasonwpalmer"
        datasource URL=> "jdbc:mysql://localhost:3306/auto_info_db"
))
[TopLink Config]: 2008.12.10 10:21:46.793--ServerSession(11608737)--Connection(9493)--Thread(Thread[AWT-EventQueue-0,6,main])--Connected: jdbc:mysql://localhost:3306/auto_info_db
        User: jasonwpalmer@localhost
        Database: MySQL  Version: 5.0.45-community-nt
        Driver: MySQL-AB JDBC Driver  Version: mysql-connector-java-5.1.7 ( Revision: ${svn.Revision} )
[TopLink Config]: 2008.12.10 10:21:46.793--ServerSession(11608737)--Connection(25346354)--Thread(Thread[AWT-EventQueue-0,6,main])--connecting(DatabaseLogin(
        platform=>MySQL4Platform
        user name=> "jasonwpalmer"
        datasource URL=> "jdbc:mysql://localhost:3306/auto_info_db"
))
[TopLink Config]: 2008.12.10 10:21:46.825--ServerSession(11608737)--Connection(26548428)--Thread(Thread[AWT-EventQueue-0,6,main])--Connected: jdbc:mysql://localhost:3306/auto_info_db
        User: jasonwpalmer@localhost
        Database: MySQL  Version: 5.0.45-community-nt
        Driver: MySQL-AB JDBC Driver  Version: mysql-connector-java-5.1.7 ( Revision: ${svn.Revision} )
[TopLink Config]: 2008.12.10 10:21:46.825--ServerSession(11608737)--Connection(26147562)--Thread(Thread[AWT-EventQueue-0,6,main])--connecting(DatabaseLogin(
        platform=>MySQL4Platform
        user name=> "jasonwpalmer"
        datasource URL=> "jdbc:mysql://localhost:3306/auto_info_db"
))
[TopLink Config]: 2008.12.10 10:21:46.840--ServerSession(11608737)--Connection(4512144)--Thread(Thread[AWT-EventQueue-0,6,main])--Connected: jdbc:mysql://localhost:3306/auto_info_db
        User: jasonwpalmer@localhost
        Database: MySQL  Version: 5.0.45-community-nt
        Driver: MySQL-AB JDBC Driver  Version: mysql-connector-java-5.1.7 ( Revision: ${svn.Revision} )
[TopLink Info]: 2008.12.10 10:21:47.059--ServerSession(11608737)--Thread(Thread[AWT-EventQueue-0,6,main])--file:/C:/Users/Jason/Documents/NetBeansProjects/Auto_HTML_Alizer_v1P1/dist/Auto_HTML_Alizer_v1P1.jar-Auto_HTML_Alizer_v1P1PU login successful
Starting Transaction!
[TopLink Fine]: 2008.12.10 10:21:47.121--ServerSession(11608737)--Connection(6923467)--Thread(Thread[AWT-EventQueue-0,6,main])--SELECT category_id, category_parent_id, category_description, category_title, category_image_url FROM tbl_categories
Categories Returned: true
Calling getCategories!
Starting Transaction!
[TopLink Fine]: 2008.12.10 10:21:47.168--ServerSession(11608737)--Connection(9703298)--Thread(Thread[AWT-EventQueue-0,6,main])--SELECT category_id, category_parent_id, category_description, category_title, category_image_url FROM tbl_categories
Categories Returned: true
[TopLink Config]: 2008.12.10 10:21:47.308--ServerSession(11608737)--Connection(9703298)--Thread(Thread[Finalizer,8,system])--disconnect
[TopLink Info]: 2008.12.10 10:21:47.308--ServerSession(11608737)--Thread(Thread[Finalizer,8,system])--file:/C:/Users/Jason/Documents/NetBeansProjects/Auto_HTML_Alizer_v1P1/dist/Auto_HTML_Alizer_v1P1.jar-Auto_HTML_Alizer_v1P1PU logout successful
[TopLink Config]: 2008.12.10 10:21:47.308--ServerSession(11608737)--Connection(6923467)--Thread(Thread[Finalizer,8,system])--disconnect
[TopLink Config]: 2008.12.10 10:21:47.308--ServerSession(11608737)--Connection(11446032)--Thread(Thread[Finalizer,8,system])--disconnect
[TopLink Config]: 2008.12.10 10:21:47.308--ServerSession(11608737)--Connection(23342038)--Thread(Thread[Finalizer,8,system])--disconnect
[TopLink Config]: 2008.12.10 10:21:47.308--ServerSession(11608737)--Connection(28291271)--Thread(Thread[Finalizer,8,system])--disconnect
[TopLink Config]: 2008.12.10 10:21:47.308--ServerSession(11608737)--Connection(9493)--Thread(Thread[Finalizer,8,system])--disconnect
[TopLink Config]: 2008.12.10 10:21:47.308--ServerSession(11608737)--Connection(26548428)--Thread(Thread[Finalizer,8,system])--disconnect
[TopLink Config]: 2008.12.10 10:21:47.308--ServerSession(11608737)--Connection(4512144)--Thread(Thread[Finalizer,8,system])--disconnect
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at javax.swing.JTable.prepareRenderer(JTable.java:5729)
        at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2075)
        at javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:1977)
        at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1773)
        at javax.swing.plaf.ComponentUI.update(ComponentUI.java:143)
        at javax.swing.JComponent.paintComponent(JC
        at javax.swing.JComponent.paintComponent(JComponent.java:763)
        at javax.swing.JComponent.paint(JComponent.java:1027)
        at javax.swing.JComponent.paintChildren(JComponent.java:864)
        at javax.swing.JComponent.paint(JComponent.java:1036)
        at javax.swing.JViewport.paint(JViewport.java:747)
        at javax.swing.JComponent.paintChildren(JComponent.java:864)
        at javax.swing.JComponent.paint(JComponent.java:1036)
        at javax.swing.JComponent.paintChildren(JComponent.java:864)
        at javax.swing.JComponent.paint(JComponent.java:1036)
        at javax.swing.JComponent.paintChildren(JComponent.java:864)
        at javax.swing.JComponent.paint(JComponent.java:1036)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:564)
        at javax.swing.JComponent.paintChildren(JComponent.java:864)
        at javax.swing.JComponent.paintToOffscreen(JComponent.java:5129)
        at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1472)
        at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1403)
        at javax.swing.RepaintManager.paint(RepaintManager.java:1217)
        at javax.swing.JComponent.paint(JComponent.java:1013)
        at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
        at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
        at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
        at java.awt.Container.paint(Container.java:1762)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714)
        at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:694)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
BUILD SUCCESSFUL (total time: 7 seconds)

Why does the binding not work after following the Wizard to "hook it up" to the same List<Category> that the other table is "hooked up to"?

I obviously need to debug the source code and see where the tables have different properties, which will take a while.

Again, thanks for your time.

Jason Palmer

Jiri Vagner wrote:
Hi!
So you want to use jtable binding to fill jtable content withou wizards.
Did I understand it correctly?

Small example:

 - add Car class to your project

public class Car {
    private String manufacturer;
    private String model;

    public String getManufacturer() {
        return manufacturer;
    }
    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }
    public String getModel() {
        return model;
    }
    public void setModel(String model) {
        this.model = model;
    }
}


 - add bean property to your form

public class YourFrame extends javax.swing.JFrame {
    private List<Car> _cars = new ArrayList<Car>();

    public void setCarList(List<Car> cars) {
        _cars = cars;
    }
    public List<Car> getCarList() {
        if (_cars.isEmpty()) {
            Car car =new Car();
            car.setManufacturer("Lancia");
            car.setModel("Lybra");
            _cars.add(car);

            car = new Car();
            car.setManufacturer("Lancia");
            car.setModel("Thesis");
            _cars.add(car);
        }
        return _cars;
    }
.....

- select jTable and invoke bind dialog  Bind -> elements
- as Binding source set Form
- as Binding expression tree select node "carList java.util.List" or
just type  "${carList}"
- select fields to display
- run the form

Hope it helps.
Jirka Vagner


jasonwpalmer wrote:
> Has anyone experienced problems with auto-generated beans binding wizard in
> Netbeans 6.5 (SWING) ? I have done a lot of Web Applications and am learning
> SWING. I might even learn quicker if I could learn how to code this
> manually, but many tutorials are written using the Wizards that Netbeans
> offers and when I have problems it is hard to pinpoint problems in
> auto-generated code!
>
> When I drop a table on the page in the Visual Designer and try to setup the
> binding by right-clicking and selecting bind-->elements. I use a List that
> is populated in Constructor of JFrame with JPA that holds a List of Entity
> Beans. I know that the List is populated with Entities and Persistence.xml
> is all in order and functioning correctly.
>
> Everytime the GUI is displayed it shows an empty table with default values
> defined in TableModel. Also when the Wizard completes in Visual Designer at
> Design Time - the table appears unchanged even though the Binding Wizard
> seems to have completed successfully.
>
> I understand that I can extend AbstractTableModel and provide a concrete
> implementation and just bind the table appropriately. This seems to be alot
> of work and I would like to use JSR 295 BeansBinding instead.
>
> Does anyone have a similiar problem that they have overcome?
>
> Jason Palmer
>  

 « Return to Thread: Netbeans Bean Binding - BindingGroup