// Дата последней ревизии $Date: 2008-02-04 18:52:02 +0300 (Пн, 04 фев 2008) $ // Дата последней проверки YYYY-MM-DD package com.bftcom.fdt.ui.components.grid; import com.bftcom.fdt.model.DenyException; import com.bftcom.fdt.model.VetoException; import com.bftcom.fdt.ui.containers.common.models.ObjectWithKey; import com.bftcom.fdt.ui.containers.common.models.Register; import com.bftcom.fdt.ui.containers.standart.register.AbstractRegisterGridValuesModel; import com.bftcom.fdt.ui.containers.standart.register.BasicRegister; import com.bftcom.fdt.util.keys.BasicKey; import com.bftcom.fdt.util.keys.Key; /** * TODO: требуется документирование */ public class NewJFrame extends javax.swing.JFrame { private final static long serialVersionUID = -1; public NewJFrame() { initComponents(); ColumnDescription[] titles = new ColumnDescription[]{ new ColumnDescription("A", String.class) }; grid1.setCUModel(new DefaultGridModel( new DefaultGridColumnsModel(titles), new DefaultSelectionModel(), new AbstractRegisterGridValuesModel() { class A implements ObjectWithKey { public Key getId() { return new BasicKey(1); } } Register register = new BasicRegister(); { try { register.add(new A()); register.add(new A()); register.add(new A()); register.add(new A()); register.add(new A()); register.add(new A()); } catch (VetoException vetoException) { } } @Override protected Object getValue(ObjectWithKey object, int columnIndex) throws DenyException { return "" + columnIndex; } @Override protected Register getObjects() { return register; } }, new DefaultSelectionModel())); titles = new ColumnDescription[]{ new ColumnDescription("B", String.class), new ColumnDescription("C", String.class), new ColumnDescription("D", String.class) }; grid1.getCUModel().setColumnsModel(new DefaultGridColumnsModel(titles)); grid1.setChoiceColumnVisible(rootPaneCheckingEnabled); } // private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane(); grid1 = new com.bftcom.fdt.ui.components.grid.Grid(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); grid1.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {null, null, null, null}, {null, null, null, null}, {null, null, null, null}, {null, null, null, null} }, new String [] { "Title 1", "Title 2", "Title 3", "Title 4" } )); jScrollPane1.setViewportView(grid1); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(158, 158, 158) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 4, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(238, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap(25, Short.MAX_VALUE) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)) ); pack(); }// public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new NewJFrame().setVisible(true); } }); } // Variables declaration - do not modify private com.bftcom.fdt.ui.components.grid.Grid grid1; private javax.swing.JScrollPane jScrollPane1; // End of variables declaration } ----- Classpath: --------------------------------------------- bootPath: ClassPath[Entry[jar:file:/C:/Soft/java/jdk6u4/jre/lib/resources.jar!/], Entry[jar:file:/C:/Soft/java/jdk6u4/jre/lib/rt.jar!/], Entry[jar:file:/C:/Soft/java/jdk6u4/jre/lib/sunrsasign.jar!/], Entry[jar:file:/C:/Soft/java/jdk6u4/jre/lib/jsse.jar!/], Entry[jar:file:/C:/Soft/java/jdk6u4/jre/lib/jce.jar!/], Entry[jar:file:/C:/Soft/java/jdk6u4/jre/lib/charsets.jar!/], Entry[file:/C:/Soft/java/jdk6u4/jre/classes/], Entry[jar:file:/C:/Soft/java/jdk6u4/jre/lib/ext/dnsns.jar!/], Entry[jar:file:/C:/Soft/java/jdk6u4/jre/lib/ext/localedata.jar!/], Entry[jar:file:/C:/Soft/java/jdk6u4/jre/lib/ext/sunjce_provider.jar!/], Entry[jar:file:/C:/Soft/java/jdk6u4/jre/lib/ext/sunmscapi.jar!/], Entry[jar:file:/C:/Soft/java/jdk6u4/jre/lib/ext/sunpkcs11.jar!/]] classPath: ClassPath[Entry[jar:file:/Y:/FDT/FDT_Common/dist/FDT_Common.jar!/], Entry[jar:file:/Y:/FDT/FDT_Common/dist/lib/commons-beanutils.jar!/], Entry[jar:file:/Y:/FDT/FDT_Common/dist/lib/commons-betwixt.jar!/], Entry[jar:file:/Y:/FDT/FDT_Common/dist/lib/commons-cli.jar!/], Entry[jar:file:/Y:/FDT/FDT_Common/dist/lib/commons-collections.jar!/], Entry[jar:file:/Y:/FDT/FDT_Common/dist/lib/commons-configuration.jar!/], Entry[jar:file:/Y:/FDT/FDT_Common/dist/lib/commons-digester.jar!/], Entry[jar:file:/Y:/FDT/FDT_Common/dist/lib/commons-lang.jar!/], Entry[jar:file:/Y:/FDT/FDT_Common/dist/lib/commons-logging.jar!/], Entry[jar:file:/Y:/FDT/FDT_Client/lib/JCalendar/jcalendar.jar!/], Entry[jar:file:/Y:/FDT/FDT_Client/lib/JGoodiesValidation/validation.jar!/], Entry[jar:file:/Y:/FDT/FDT_Client/lib/SwingX/build_and_run/MultipleGradientPaint.jar!/], Entry[jar:file:/Y:/FDT/FDT_Client/lib/SwingX/build_and_run/swing-worker.jar!/]] sourcePath: ClassPath[Entry[file:/Y:/FDT/FDT_Client/src/], Entry[file:/Y:/FDT/FDT_Client/src_libs/SwingX/java/], Entry[file:/Y:/FDT/FDT_Client/src_libs/SwingX/beaninfo/], Entry[file:/Y:/FDT/FDT_Client/build/generated/wsclient/], Entry[file:/Y:/FDT/FDT_Client/build/generated/wsimport/client/]] ----- Original exception --------------------------------------------- java.lang.NullPointerException at com.sun.tools.javac.comp.Flow.visitMethodDef(Flow.java:676) at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:658) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50) at com.sun.tools.javac.comp.Flow.visitClassDef(Flow.java:656) at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:589) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50) at com.sun.tools.javac.comp.Flow.scanStat(Flow.java:499) at com.sun.tools.javac.comp.Flow.scanDef(Flow.java:485) at com.sun.tools.javac.comp.Flow.visitClassDef(Flow.java:634) at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:589) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50) at com.sun.tools.javac.comp.Flow.visitNewClass(Flow.java:1143) at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1351) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50) at com.sun.tools.javac.comp.Flow.scanExpr(Flow.java:515) at com.sun.tools.javac.comp.Flow.scanExprs(Flow.java:525) at com.sun.tools.javac.comp.Flow.visitNewClass(Flow.java:1137) at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1351) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50) at com.sun.tools.javac.comp.Flow.scanExpr(Flow.java:515) at com.sun.tools.javac.comp.Flow.scanExprs(Flow.java:525) at com.sun.tools.javac.comp.Flow.visitApply(Flow.java:1130) at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1301) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50) at com.sun.tools.javac.tree.TreeScanner.visitExec(TreeScanner.java:172) at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1147) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50) at com.sun.tools.javac.comp.Flow.scanStat(Flow.java:499) at com.sun.tools.javac.comp.Flow.scanStats(Flow.java:507) at com.sun.tools.javac.comp.Flow.visitBlock(Flow.java:761) at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:770) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50) at com.sun.tools.javac.comp.Flow.scanStat(Flow.java:499) at com.sun.tools.javac.comp.Flow.visitMethodDef(Flow.java:707) at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:658) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50) at com.sun.tools.javac.comp.Flow.visitClassDef(Flow.java:656) at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:589) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:50) at com.sun.tools.javac.comp.Flow.analyzeTree(Flow.java:1298) at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1122) at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1083) at com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:437) at com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:417) at org.netbeans.api.java.source.JavaSource.moveToPhase(JavaSource.java:1287) at org.netbeans.api.java.source.JavaSource$CompilationJob.run(JavaSource.java:1625) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619)