2016-03-07 43 views
-1
import java.awt.FlowLayout; 
import java.awt.event.ActionListener; 
import java.awt.event.ActionEvent; 
import javax.swing.JFrame; 
import javax.swing.JButton; 
import javax.swing.Icon; 
import javax.swing.ImageIcon; 
import javax.swing.JOptionPane; 

public class Guiii extends JFrame{ 

    private JButton menu; 
    private JButton custom; 

    public Guiii(){ 
    super ("The Title"); 
    setLayout(new FlowLayout()); 

    menu = new JButton("menu Button"); 
    add (menu); 

    Icon b = new ImageIcon (getClass().getResource("button.png")); 
    Icon x = new ImageIcon (getClass().getResource("greenbutton.png")); 
    custom = new JButton("Custom",b); 
    custom.setRolloverIcon(x); 
    add (custom); 


    HandlerClass handler = new HandlerClass(); 
    menu.addActionListener(handler); 
    custom.addActionListener(handler); 

    } 

    private class HandlerClass implements ActionListener{ 
    public void actionPerformed(ActionEvent event){ 

     JOptionPane.showMessageDialog(null, String.format("~s",  event.getActionCommand())); 
    } 
    } 
} 

這是我的代碼,我有一些麻煩,它不工作,我已經做出了主要的,但錯誤都出現了任何人都可以幫我解釋一下代碼是如何工作的KHG軟件工程,GUI

這些都是錯誤

Exception in thread "main" java.lang.NullPointerException 
    at javax.swing.ImageIcon.<init>(ImageIcon.java:205) 
    at Guiii.<init>(Guiii.java:22) 
    at main.main(main.java:7) 

這是代碼的其餘部分,但它必須是在另一個文件:

import javax.swing.JFrame; 
public class main { 

    public static void main(String[] args) { 
    // TODO Auto-generated method stub 

    Guiii o = new Guiii(); 
    o.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    o.setSize(300,200); 
    o.setVisible(true); 
    } 
} 
+0

什麼是錯誤?.. –

+0

[link]線程「main」中的異常java.lang.NullPointerException \t at javax.swing.ImageIcon。 (ImageIcon.java:205) \t at Guiii。 (Guiii.java:22) \t at main.main(main.java:7) – AHMER93

+0

這不是完整的code.right? –

回答

1

該圖標的構造函數會拋出一個NPE,因爲getResource返回null

將圖像放在與Guiii類相同的文件夾中。