【问题标题】:When main method is contained within a class, my program compiles but not when main method is separate当 main 方法包含在一个类中时,我的程序可以编译,但当 main 方法是单独的时,我的程序不会编译
【发布时间】:2014-05-19 02:52:08
【问题描述】:

我一直在为使用 JCreator 的课程做作业,而 JCreator 一直给我错误:在 AddSubtract 类中找不到主方法,请定义主方法 我有两个类 AddSubtract 和 AddSubtractViewer。 AddSubtractViewer 有 main 方法。当 AddSubtractViewer 有 main 方法时,JCreator 给了我上述错误,但当我将确切的 main 方法复制并粘贴到 AddSubtract 类中时却没有。 以下是代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class AddSubtract
{
private static final int FRAME_WIDTH = 300;
private static final int FRAME_HEIGHT = 100;
private static final int INCREMENT = 5;
private int value;
private JButton buttonAdd, buttonSubtract;
private JLabel label;
private JFrame frame;
private JPanel panel;

//Sets up the GUI
public AddSubtract()
{
    frame = new JFrame ("Add and Subtract");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    value = 50;
    label = new JLabel("Value: " + Integer.toString(value));

    buttonAdd = new JButton("Add");
    buttonSubtract = new JButton("Subtract");

    buttonAdd.addActionListener(new AddButtonListener());
    buttonSubtract.addActionListener(new SubtractButtonListener());     

    panel = new JPanel();
    panel.setPreferredSize(new Dimension(FRAME_WIDTH, FRAME_HEIGHT));
    panel.setBackground(Color.lightGray);
    panel.add(label);
    panel.add(buttonAdd);
    panel.add(buttonSubtract);

    frame.add(panel);

}

//displays the primary application frame
public void display()
{
    frame.pack();
    frame.setVisible(true);
}

private class AddButtonListener implements ActionListener
{
    public void actionPerformed(ActionEvent event)
    {
        value = value + INCREMENT;
        label.setText("Vaue: " + Integer.toString(value));
    }
}

private class SubtractButtonListener implements ActionListener
{
    public void actionPerformed(ActionEvent event)
    {
        value = value - INCREMENT;
        label.setText("Value : " + Integer.toString(value));
    }
}   

/*public static void main(String[] args) 
{
    AddSubtract application = new AddSubtract();
    application.display();
}*/
}

AddSubtractViewer 是

import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.event.ActionListener;

public class AddSubtractViewer
{

//execute application
public static void main(String[] args) 
{
    AddSubtract application = new AddSubtract();
    application.display();      
}

}

为什么会这样?

【问题讨论】:

  • 你用的是什么IDE?

标签: java main jcreator


【解决方案1】:

出现问题是因为AddSubtract 在 JCreator 中被配置为您的启动文件。你需要修改启动文件告诉JCreator你的main()位于AddSubtractViewer,像这样:

  • 从项目菜单中选择项目设置...
  • 从运行:窗口中选择AddSubtractViewer 作为主文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    • 2018-11-13
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    相关资源
    最近更新 更多