簡體   English   中英

“選擇不包含主要類型”-Eclipse運行錯誤

[英]“Selection does not contain a main Type” - Eclipse Run Error

我編寫了一個示例代碼來啟動一個項目,而只是重構另一個項目。

這是重構的:

    package com.sh.st; 

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.SwingConstants;



public class Main extends JFrame implements ActionListener {

    /**
     * 
     */
    JMenuBar bar;
    JMenu file, register;
    JMenuItem close, search;
    ImageIcon figure1= new ImageIcon("C:/Users/Victor/Downloads/Untitled.jpg");
    //ImageIcon figure2= new ImageIcon("C:/Victor Rocha/carroicon.jpg");
    JLabel Ibimagem1,Ibimagem2;

    /**
     * 
     */
    public Main()
    {

        bar= new JMenuBar();
        file= new JMenu("file");
        register= new JMenu("register");

        register.setMnemonic(KeyEvent.VK_R);
        file.setMnemonic(KeyEvent.VK_F);

        close= new JMenuItem("Close");
        close.addActionListener(this);

        search= new JMenuItem("Search");
        search.addActionListener(this);



        Ibimagem1= new JLabel(figure1, JLabel.CENTER);
        Ibimagem1.setVerticalTextPosition(SwingConstants.CENTER);

        bar.add(file);
        bar.add(register);
        file.add(close);
        register.add(search);
        //register.add(carro);
        //register.add(cliente);
        //register.add(funcionario);
        getContentPane().add(Ibimagem1);
        setSize(800,600);
        setTitle("SHST");
        setJMenuBar(bar);
        setDefaultCloseOperation(0);
        //setIconImage(figure2.getImage());

            WindowListener J=new WindowAdapter(){
            public void windowClosing(WindowEvent e){
            System.exit(0);
            }
        }; 

        addWindowListener(J);
}

    public void actionPerformed(ActionEvent e){
        if(e.getSource()==close){
            System.exit(0);
        }

        if(e.getSource()==search){
            Search s= new Search();
            s.setVisible(true);
        }

        }
}

這是原始的一個:

    package com.professordelphi.locadora;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.SwingConstants;

public class Principal extends JFrame implements ActionListener {

    JMenuBar barra;
    JMenu arquivo, cadastro;
    JMenuItem fechar, cliente, funcionario, carro;
    ImageIcon figura1= new ImageIcon("C:/Victor Rocha/carro.jpg");
    ImageIcon figura2= new ImageIcon("C:/Victor Rocha/carroicon.jpg");
    JLabel Ibimagem1,Ibimagem2;

    public Principal()
    {

        barra= new JMenuBar();
        arquivo= new JMenu("Arquivo");
        cadastro= new JMenu("Cadastro");

        cadastro.setMnemonic(KeyEvent.VK_C);
        arquivo.setMnemonic(KeyEvent.VK_A);

        fechar= new JMenuItem("Fechar");
        fechar.addActionListener(this);
        carro= new JMenuItem("Carro");
        carro.addActionListener(this);
        cliente= new JMenuItem("Cliente");
        cliente.addActionListener(this);
        funcionario= new JMenuItem("Funcionario");
        funcionario.addActionListener(this);



        Ibimagem1= new JLabel(figura1, JLabel.CENTER);
        Ibimagem1.setVerticalTextPosition(SwingConstants.CENTER);

        barra.add(arquivo);
        barra.add(cadastro);
        arquivo.add(fechar);
        cadastro.add(carro);
        cadastro.add(cliente);
        cadastro.add(funcionario);
        getContentPane().add(Ibimagem1);
        setSize(800,600);
        setTitle("Sistema de Cadastro");
        setJMenuBar(barra);
        setDefaultCloseOperation(0);
        setIconImage(figura2.getImage());

                WindowListener J=new WindowAdapter(){
            public void windowClosing(WindowEvent e){
                System.exit(0);
            }
        }; 

        addWindowListener(J);
}

    public void actionPerformed(ActionEvent e){
        if(e.getSource()==fechar){
            System.exit(0);
        }
        if(e.getSource()==carro){
            Carro k = new Carro();
            k.setVisible(true);
        }
        if(e.getSource()==cliente){
            Cliente c = new Cliente();
            c.setVisible(true);
        }
        if(e.getSource()==funcionario){
            Funcionario f= new Funcionario();
            f.setVisible(true);
        }

        }
    }

問題是,原始的e建築物和重構的建築物不是。 我從重構中收到的錯誤是“選擇不包含主類型”。 我看到了很多與此主題有關的帖子,但是都沒有解決我的問題。 這是我嘗試過的事情的一小部分;

來源: 編輯器不包含主要類型

  1. 清理工作區並重建項目。
  2. 確保在項目屬性-> Java構建路徑->源中添加源文件夾。
  3. 關閉您的項目並重新打開它。

嘗試使用Eclipse作為Java應用程序運行時,有人對我該怎么辦提出建議?

您沒有在類中定義的主要功能。 主要功能是運行文件時將調用的功能。

嘗試添加

public static void main(String [] args)
{

}

並在main方法中創建並顯示JFrame的對象。

您應該在類(其中一個)中定義一個具有以下簽名的main方法:

public static void main(String args[])

該方法是程序的起點。

import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.SwingConstants;
public class Main extends JFrame implements ActionListener {

  public static void main(String args[]){
   // from here the program execution starts
  }
  ....
  your other code
  .....
}

Java程序的入口點是主要方法。 您的課程是否包含如下所示的main方法?

public static void main(String[] args) {
    //Code
}

如果沒有,程序將無法運行。

右鍵單擊您的項目->屬性-> Java構建路徑->源->添加文件夾

現在選擇src文件夾,然后單擊OK。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM