Java 小程序不显示,但也没有错误

Java 小程序不显示,但也没有错误,java,swing,applet,awt,Java,Swing,Applet,Awt,我正在尝试为我的班级项目创建这个程序。编译器说进程已完成,但当我尝试运行它时,什么也没有显示 import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing.*; public class Project extends Applet implements ActionListener { Label sp = new Label("Receipt Calculator");

我正在尝试为我的班级项目创建这个程序。编译器说进程已完成,但当我尝试运行它时,什么也没有显示

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;

public class Project extends Applet implements ActionListener {

    Label sp = new Label("Receipt Calculator");
    Panel pl = new Panel();
    Label cndy = new Label("Candy:");
    TextField cndyi = new TextField(5);
    Label bred = new Label("Bread:");
    TextField bredi = new TextField(5);
    Label sop = new Label("Soap:");
    TextField sopi = new TextField(5);
    Label mlk = new Label("Milk:");
    TextField mlki = new TextField(5);
    Label ham = new Label("Ham:");
    TextField hami = new TextField(5);
    Label srdns = new Label("Sardines:");
    TextField srdnsi = new TextField(5);
    Label cfee = new Label("Coffee:");
    TextField cfeei = new TextField(5);
    Label ndls = new Label("Noodles:");
    TextField ndlsi = new TextField(5);
    Label salt = new Label("Salt:");
    TextField salti = new TextField(5);
    Label btrs = new Label("Batteries:");
    TextField btrsi = new TextField(5);
    Button co = new Button("Compute Price");
    Panel pnl = new Panel();
    Label st = new Label("");
    Label tx = new Label("");
    Label t = new Label("");

    public void init() {
        setLayout(new GridLayout(2, 2));
        setBackground(Color.blue);

        add(sp);
        add(pl);

        pl.setLayout(new GridLayout(11, 2));

        pl.add(cndy);
        pl.add(cndyi);
        pl.add(bred);
        pl.add(bredi);
        pl.add(sop);
        pl.add(sopi);
        pl.add(mlk);
        pl.add(mlki);
        pl.add(ham);
        pl.add(hami);
        pl.add(srdns);
        pl.add(srdnsi);
        pl.add(cfee);
        pl.add(cfeei);
        pl.add(ndls);
        pl.add(ndlsi);
        pl.add(salt);
        pl.add(salti);
        pl.add(btrs);
        pl.add(btrsi);
        add(co);
        co.addActionListener(this);
        add(pnl);
        pnl.setLayout(new GridLayout(3, 2));
        pnl.add(st);
        pnl.add(tx);
        pnl.add(t);
    }

    public void actionPerformed(ActionEvent z) {
        int a, b, c, d, e, f, g, h, i, j;
        double nst, ntx, nt;
        a = Integer.parseInt(cndyi.getText());
        b = Integer.parseInt(bredi.getText());
        c = Integer.parseInt(sopi.getText());
        d = Integer.parseInt(mlki.getText());
        e = Integer.parseInt(hami.getText());
        f = Integer.parseInt(srdnsi.getText());
        g = Integer.parseInt(cfeei.getText());
        h = Integer.parseInt(ndlsi.getText());
        i = Integer.parseInt(salti.getText());
        j = Integer.parseInt(btrsi.getText());

        nst = (a * 31.50) + (b * 35) + (c * 25) + 
              (d * 38.85) + (e * 43.15) + (f * 13) + 
              (g * 39) + (h * 7) + (i * 10) + (j * 30);
        ntx = nst + (nst * .12);

        nt = nst + ntx;
        st.setText("Sub-total = " + nst);
        tx.setText("Sub-total = " + ntx);
        t.setText("Sub-total = " + nt);
    }

    public static void main(String[] args) {
        new Project();
    }
}

试着把所有的面板放在一个框架里。尝试使用本教程。这是一个用来显示所有东西并使它们可见的窗口。

这对我来说似乎是一个家庭作业问题。问题是你们并没有什么可跑的

public static void main(String[] args) {
    new Project();
}
所做的只是创建一个新对象,但在这之后程序终止:您需要一个循环

请尝试此教程:

当我尝试运行它时,什么都没有显示

那是因为你没有要求任何东西
newproject()
只创建一个
Project
对象,由于没有定义默认构造函数,也没有显式调用任何其他方法,因此执行会立即退出。进行以下更改

newproject().init()

您需要将
面板
放置在
JFrame
中以使其可见。在
init()方法中尝试以下操作


JFrame=新JFrame();
帧。添加(pl);
frame.pack();

frame.setVisible(true)

您的代码对我来说运行良好。我明白了:

我猜您正在尝试将其作为Java应用程序运行,而不是作为Java小程序运行。您的类中确实有
main()
方法,这可能是造成这种混乱的原因
main()
可以删除。对于小程序,
init()
是入口点,就像
main()
作为应用程序运行一样

右键单击该类并选择RunAs>JavaApplet。例如:


您是如何执行此操作的?扩展Applet会建议它作为Applet运行,但您有一个
main()。另外,您是否被迫使用AWT组件而不是Swing组件?我使用的是JCreator。在JCreator中如何执行此操作?@user3464914抱歉,我假设您使用的是Eclipse。我从来没有用过JCreator。建议JCreator无法运行小程序。