【问题标题】:"Selection does not contain a main Type" - Eclipse Run Error“选择不包含主要类型” - Eclipse 运行错误
【发布时间】:2013-06-21 10:41:28
【问题描述】:

我制作了一个示例代码来启动一个项目,只是重构另一个项目。

这是重构的:

    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楼和重构的不是。我从重构中收到的错误是“选择不包含主要类型”。我看到很多关于这个主题的帖子,但没有一个能解决我的问题。这是我尝试过的一些小清单;

来源:Editor does not contain a main type

  1. 清理您的工作区并重建您的项目。
  2. 确保在项目属性 -> java 构建路径 -> 源中添加源文件夹。
  3. 关闭您的项目并重新打开它。

尝试使用 Eclipse 作为 Java 应用程序运行,有人对我应该怎么做有建议吗?

【问题讨论】:

标签: java eclipse


【解决方案1】:

您没有在类中定义主函数。 main 函数是运行文件时将调用的函数。

尝试添加

public static void main(String [] args)
{

}

并在 main 方法中创建并显示 JFrame 的对象。

【讨论】:

  • 非常感谢,我意识到我的班级都没有公共静态空白。我该睡一觉了..
【解决方案2】:

右键单击您的项目->属性-> Java构建路径->源->添加文件夹

现在选择src文件夹并点击OK

【讨论】:

    【解决方案3】:

    你应该在你的类(任何一个)中定义一个带有以下签名的 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
      .....
    }
    

    【讨论】:

      【解决方案4】:

      Java 程序的入口点是 main 方法。 您的课程是否包含如下主要方法?

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

      如果你没有这个,你的程序将无法运行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-18
        • 1970-01-01
        • 1970-01-01
        • 2013-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多