运行没有main方法的Java程序?
我试图启动一个框架GUI(桌面窗口),而不是从运行没有main方法的Java程序?,java,applet,awt,frame,Java,Applet,Awt,Frame,我试图启动一个框架GUI(桌面窗口),而不是从Applet对象创建它 我有一个编译错误 我的问题是,创建桌面gui框架的唯一方法是使用main方法,比如桌面应用程序 或者有没有一种方法可以创建一个框架,比如用init(),start(),paint()等方法创建一个小程序 我的代码: import java.awt.*; import java.applet.*; import java.awt.event.*; class PilotinoGui extends Frame { P
Applet
对象创建它
我有一个编译错误
我的问题是,创建桌面gui框架的唯一方法是使用main方法,比如桌面应用程序
或者有没有一种方法可以创建一个框架,比如用init()
,start()
,paint()
等方法创建一个小程序
我的代码:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
class PilotinoGui extends Frame {
PilotinoGui(String title) {
super(title);
}
public void paint(Graphics g) {
g.drawString("This is stringggg", 10, 40);
}
}
错误消息:
Error: Main method not found in class
zetariemann.com.pilotino.PilotinoGui, please define the main method as:
public static void main(String[] args)
正如其他答案所指出的,您需要有一个主要方法:
public static void main(String []args)
{
PilotinoGui pg = new PilontinoGui();
pg.setVisible(true);
}
我建议使用JFrame而不是Frame
import javax.swing.JFrame;
java.awt.Frame的扩展版本,增加了对
JFC/Swing组件体系结构。你可以发现任务导向
关于在Java教程中使用JFrame的文档,请参见
如何制作框架
此处的文档:正如其他答案中指出的,您需要有一个主要方法:
public static void main(String []args)
{
PilotinoGui pg = new PilontinoGui();
pg.setVisible(true);
}
我建议使用JFrame而不是Frame
import javax.swing.JFrame;
java.awt.Frame的扩展版本,增加了对
JFC/Swing组件体系结构。你可以发现任务导向
关于在Java教程中使用JFrame的文档,请参见
如何制作框架
此处的文档:当您编译运行代码时,编译器会搜索main方法,这意味着没有main方法,由于对象的创建,您无法进入运行时,可能您的代码会在编译时编译,但这是另一回事
因此,如果没有main方法,就不可能运行应用程序。当您编译运行代码时,编译器会搜索main方法,这意味着没有main方法,由于对象的创建,您无法进入运行时,您的代码可能会在编译时编译,但这是另外一回事
因此,如果没有main方法,就不可能运行应用程序。Add
public static void main(String[] args) {
new PilotinoGui ().setVisible(true);
}
作为类中的主要方法添加
public static void main(String[] args) {
new PilotinoGui ().setVisible(true);
}
作为课堂上的主要方法1)为什么AWT而不是Swing?关于放弃使用AWT组件的许多好理由,请参见上的回答。如果需要支持较旧的基于AWT的API,请参阅。2) 绘制到
缓冲区图像
,将其显示在JLabel
中。如果更改,请调用label.repaint()
。如……所示。。。。3) 不要延伸框架或其他顶级容器。而是创建并使用一个实例。4) 要部署Java桌面应用程序,最好的选择通常是安装应用程序。使用。JWS在Windows、OSX和*nix上工作。1)为什么使用AWT而不是Swing?关于放弃使用AWT组件的许多好理由,请参见上的回答。如果需要支持较旧的基于AWT的API,请参阅。2) 绘制到缓冲区图像
,将其显示在JLabel
中。如果更改,请调用label.repaint()
。如……所示。。。。3) 不要延伸框架或其他顶级容器。而是创建并使用一个实例。4) 要部署Java桌面应用程序,最好的选择通常是安装应用程序。使用。JWS在Windows、OS X和*nix上工作。我不想使用swing,对不起,我应该这么说。为什么你不想使用它?因为我正在培训如何使用AWT,无论他使用AWT还是swing,这不是OP的问题,这是另一个问题,他说可以在没有main方法的情况下运行应用程序。@anakata:我删除了否决票,也许下次再评论一下建议会更好:)我不想使用swing,对不起,我应该这么说为什么你不想使用它?因为我正在训练使用AWT,不管他使用AWT还是swing,这不是OP的问题,这是另一个问题,他说可以在没有主方法的情况下运行应用程序。@anakata:我删除了否决票,也许下次对建议进行评论更好:)好吧,但这不适用于小程序,它们没有主方法。Applet是一个例外吗?@Luther:是的,因为Applet不是一个应用程序,请阅读,Applet不同于独立的Java应用程序,它们不需要实现主方法。“编译代码时,编译器搜索主方法”ITYM“,运行代码时,运行时搜索主方法”。。主要原因是,JDK编译器不会发出警告。;)Azad,这是Java基于的OOP原则,也是关于编译器如何在编译和执行过程中维护代码的,但这不适用于小程序,它们没有主要方法。Applet是一个例外吗?@Luther:是的,因为Applet不是一个应用程序,请阅读,Applet不同于独立的Java应用程序,它们不需要实现主方法。“编译代码时,编译器搜索主方法”ITYM“,运行代码时,运行时搜索主方法”。。主要原因是,JDK编译器不会发出警告。;)Azad,这是Java基于的OOP原理,也是关于编译器如何在编译和执行期间维护代码的