2013-04-06 62 views
0

下面是我在Eclipse上使用的代碼我不明白我出錯的地方。我是一名Java初學者,所以我對這個主題不太熟悉。任何幫助將非常感激。錯誤總是eccors,當我嘗試,看看我已經走了多遠,通過運行該程序,緩解計算機術語請我新來這個哈哈。「Main Method not Public」 - 嘗試在Eclipse上運行程序時出現錯誤消息

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.border.LineBorder; 
import javax.swing.event.ChangeEvent; 
import javax.swing.event.ChangeListener; 
import java.awt.BorderLayout; 

public class CBombRombot extends JFrame implements ActionListener, ChangeListener { 

    private JPanel panel; 
    private JPanel bottompanel; 
    private JPanel rightpanel; 

    private static void main(String[] args) { 
     CBombRombot frame = new CBombRombot(); 
     frame.setTitle("CBombRobot Application"); 
     frame.setSize(875, 550); 
     frame.show(); 
     frame.setResizable(false); 
     frame.setLocationRelativeTo(null); 
    } 

    private void createGUI() { 
     setDefaultCloseOperation(EXIT_ON_CLOSE); 
     Container window = getContentPane(); 
     window.setLayout(new BorderLayout()); 

     panel = new JPanel(); 
     panel.setPreferredSize(new Dimension(650, 450)); 
     panel.setBackground(Color.white); 
     window.add(panel); 

     rightpanel = new JPanel(); 
     rightpanel.setPreferredSize(new Dimension(200, 180)); 
     rightpanel.setBackground(Color.lightGray); 
     window.add(rightpanel, BorderLayout.EAST); 

     bottompanel = new JPanel(); 
     bottompanel.setPreferredSize(new Dimension(400, 50)); 
     bottompanel.setBackground(Color.lightGray); 
     window.add(bottompanel, BorderLayout.SOUTH); 
    } 

    @Override 
    public void stateChanged(ChangeEvent arg0) { 
     // TODO Auto-generated method stub 
    } 

    @Override 
    public void actionPerformed(ActionEvent e) { 
     // TODO Auto-generated method stub 
    } 

} 
+8

我希望所有的錯誤信息是清晰和具體。 – NPE 2013-04-06 15:12:45

+0

@NPE - 你可能在這裏有點太微妙:-) – 2013-04-06 15:23:20

回答

5

那麼,你的主要方法必須公開:

看一看一些教程在那裏,例如this

在Java語言中,當你用Java解釋器執行一個類,運行時系統首先調用類的main()方法。 main()方法然後調用運行應用程序所需的所有其他方法。

或破產Oracle tutorial

在Java編程語言中,每個應用程序都必須包含一個main方法,其特徵是:public static void main(String[] args)

+0

謝謝你的幫助,但現在我沒有添加的面板出現在程序 – 2013-04-06 15:13:25

+0

然後我建議你按照一些擺動教程。 – Magnilex 2013-04-06 15:14:25

+2

@tundemaster這是另一回事。我建議你[接受答案](http://meta.stackexchange.com/a/65088/155831),對Swing進行一些研究。如果您仍然有問題,您可以發佈另一個問題 – Reimeus 2013-04-06 15:18:12

1

需要聲明的主要方法爲公共靜態無效。這是reaseon:

  • 公共 - 主要方法是通過JVM調用運行,這是 項目的範圍,因此訪問符有外面的方法是 公衆可以從任何地方允許應用程序的外部調用
  • static - 當JVM創建的是主方法調用時,不存在調用該類的 對象,因此它必須具有 靜態方法才能允許從類中調用。
  • 無效 - Java是平臺獨立的語言,因此,如果將 返回一些值,則該值可能意味着不同的 平臺不同,因此與C則不能假設返回值 操作系統的行爲。

參考:Why main() in java is public static void main

相關問題