简体   繁体   English

Java:线程“ AWT-EventQueue-0”中的异常java.lang.NullPointerException

[英]Java: Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException

public class MainFrame extends JFrame {
    public DefaultTableModel historyModel;
    public DefaultTableModel dataModel;
    public JTable historyTable;
    public JTable dataTable;
    public JTableHeader header;

private void createUI() {
        browsersTabbedPane = new BrowsersTabbedPane();
        add(browsersTabbedPane.getTabPane(), CENTER);
        addDefaultBrowserComponentForTabbedPane();
        createActions();
        add(createToolBar(), BorderLayout.NORTH);
        add(createStatusBar(), BorderLayout.SOUTH);
        add(createDataView(dataModel,dataTable, header), BorderLayout.PAGE_END);
        add(createHistoryView(historyModel,historyTable), BorderLayout.LINE_END);
        add(createBigButton(browsersTabbedPane.getActiveBrowser(),dataModel,historyModel,dataTable,historyTable), BorderLayout.WEST);

        createMenuBar();
    }

private JPanel createDataView(DefaultTableModel dataModel, JTable dataTable, JTableHeader header){
        JPanel panel = new JPanel();

        Object data[][] = {{"001","vinod","Bihar","India","Biology","65","First"},
                           {"002","Raju","ABC","Kanada","Geography","58","second"},
                           {"003","Aman","Delhi","India","computer","98","Dictontion"},
                           {"004","Ranjan","Bangloor","India","chemestry","90","Dictontion"},
                           {"004","Ranjan","Bangloor","India","chemestry","90","Dictontion"}};
        Object col[] = {"Roll","Name","State","country","Math","Marks","Grade"};
        dataModel = new DefaultTableModel(data,col);
        dataTable = new JTable(dataModel);

        dataTable.setPreferredScrollableViewportSize(new Dimension(1500,100));
        header = dataTable.getTableHeader();
        header.setBackground(Color.yellow);
        JScrollPane pane = new JScrollPane(dataTable);
        dataTable.setAutoResizeMode(JTable.WIDTH);
        dataTable.doLayout();
        panel.add(pane);
        return panel;

    }

    private JPanel createBigButton(Browser browser, DefaultTableModel dataModel, DefaultTableModel historyModel, JTable dataTable, JTable historyTable){
        JPanel panel = new JPanel();
        JButton bigbutton = new JButton("Big Button");
        bigbutton.addActionListener(new BigButtonListener(browser,dataModel,historyModel,dataTable, historyTable));
        panel.add(bigbutton);
        return panel;
    }

   class BigButtonListener implements ActionListener{
        Image screenshot;
        Browser bigbrowser;

        BigButtonListener(Browser browser, DefaultTableModel dataModel, DefaultTableModel historyModel, JTable dataTable, JTable historyTable) {
            screenshot = browser.toImage(true);
            bigbrowser = browser;
            historyModel = historyModel;
            dataModel = dataModel;
            dataTable = dataTable;
            historyTable = historyTable;
            //table1.addRow
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            // save current image           
            //historyModel.insertRow(2,new Object[]{"Sushil"}); 
            System.out.println(historyTable.getRowCount());

        }   
    }  
}

The problem occurs when the Big button is clicked. 单击大按钮时,会发生此问题。 It's supposed to output the total row count of the historyTable (which is public). 它应该输出historyTable(公共的)的总行数。

however this is the stacktrace output 但这是stacktrace输出

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at com.my.demo.MainFrame$BigButtonListener.actionPerformed(MainFrame.java:356)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

您永远不会将historyTable初始化为非null值。

您正在使用本地类变量historyTable进行自身设置,这又将其自身设置为null,因为原始值是null,因此不允许检索所需的数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Java-线程“ AWT-EventQueue-0”中的异常java.lang.NullPointerException - Java - Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException 线程““ AWT-EventQueue-0””中的Java异常java.lang.NullPointerException - Java Exception in thread '“AWT-EventQueue-0”' java.lang.NullPointerException 线程“ AWT-EventQueue-0”中的异常java.lang.NullPointerException Java - Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException Java 线程“AWT-EventQueue-0”中的异常java.lang.NullPointerException? Java的 - Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException? Java 线程“ AWT-EventQueue-0”中的异常java.lang.NullPointerException - Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException eclipse:线程“ AWT-EventQueue-0”中的异常java.lang.NullPointerException - eclipse : Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException 线程“ AWT-EventQueue-0”中的异常java.lang.NullPointerException For循环 - Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException For Loops 错误:线程“ AWT-EventQueue-0”中的异常java.lang.NullPointerException - ERROR : Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException 线程“ AWT-EventQueue-0”中的异常java.lang.NullPointerException [NetBeans] - Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException [NetBeans] 线程“ AWT-EventQueue-0”中的异常java.lang.NullPointerException - Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM