Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java编译错误:类Appletprac是公共的,应在名为Appletprac.Java的文件中声明_Java_Class_Compilation_Applet_Declaration - Fatal编程技术网

Java编译错误:类Appletprac是公共的,应在名为Appletprac.Java的文件中声明

Java编译错误:类Appletprac是公共的,应在名为Appletprac.Java的文件中声明,java,class,compilation,applet,declaration,Java,Class,Compilation,Applet,Declaration,当我编译java程序时,我遇到了这样一个错误:类Appletprac是公共的,应该在名为Appletprac.java 以下是我的java代码: import java.applet.*; import java.awt.*; // Graphics Class import javax.swing.*; import java.awt.event.*; /*<applet code="Appletprac.class" width="500" height="500">

当我编译java程序时,我遇到了这样一个错误:类
Appletprac
是公共的,应该在名为
Appletprac.java

以下是我的java代码:

import java.applet.*;
import java.awt.*;        // Graphics Class
import javax.swing.*;
import java.awt.event.*;
/*<applet code="Appletprac.class" width="500" height="500"> </applet>*/
public class Appletprac extends JApplet implements ActionListener
{
JButton OK;
JRadioButton Font_Style1,Font_Style2,Font_Style3;
ButtonGroup bg;
JCheckBox Font_Family_Name;
JTextField jt;
int i;
         String s="";
public void init()
{
    OK=new JButton("OK");       
    Font_Family_Name=new JCheckBox("Serif");
    Font_Style1=new JRadioButton("Plain");
    Font_Style2=new JRadioButton("Bold");   
    Font_Style3=new JRadioButton("BoldItalic");
    bg=new ButtonGroup();
    jt=new JTextField(20);
    this.setLayout(new FlowLayout());
    bg.add(Font_Style1);
    bg.add(Font_Style2);
    bg.add(Font_Style3);    
                      this.add(jt);
    this.add(OK);
    this.add(Font_Family_Name);
    this.add(Font_Style1);
    this.add(Font_Style2);
    this.add(Font_Style3); 
    OK.addActionListener(this);
    Font_Style1.addActionListener(this);    
    Font_Style2.addActionListener(this);
    Font_Style3.addActionListener(this);
}
public void start()
{}
public void stop()
{}  
public void paint(Graphics g)
{
    g.clearRect(50,50,500,300);
    g.draw3DRect(50,50,500,300,false);
    g.setFont(new Font(s,i,30));
    g.setColor(Color.BLUE);
    g.drawString(jt.getText(),100,100);

}
public void actionPerformed(ActionEvent e)
{
    if(e.getSource()==Font_Style1)
        i=Font.PLAIN;
    if(e.getSource()==Font_Style2)
                  i=Font.BOLD;
    if(e.getSource()==Font_Style3)
    {
                  i=Font.ITALIC;
                  int j=Font.BOLD;
                  i=i+j;
    }       
    if(e.getSource()==Font_Family_Name || e.getSource()==OK)
    {
        if(Font_Family_Name.isSelected())
            s="Serif";
        else
                      s="Tall paul";
    }       
    repaint();
}
}
import java.applet.*;
导入java.awt.*;//图形类
导入javax.swing.*;
导入java.awt.event.*;
/* */
公共类Appletprac扩展JApplet实现ActionListener
{
按钮OK;
JRadioButton字体样式1、字体样式2、字体样式3;
按钮组bg;
JCheckBox字体\家族\名称;
JTextField-jt;
int i;
字符串s=“”;
公共void init()
{
OK=新的按钮(“OK”);
Font_Family_Name=新的JCheckBox(“Serif”);
Font_Style1=新的JRadioButton(“普通”);
Font_Style2=新的JRadioButton(“粗体”);
Font_Style3=新的JRadioButton(“粗体斜体”);
bg=新按钮组();
jt=新的JTextField(20);
this.setLayout(新的FlowLayout());
bg.add(字体样式1);
bg.add(字体2);
bg.add(字体3);
本条增补(jt);
这个。添加(OK);
添加(字体\家族\姓名);
添加(字体样式1);
添加(字体样式2);
添加(字体样式3);
好的,addActionListener(这个);
Font_Style1.addActionListener(此);
Font_Style2.addActionListener(此);
Font_Style3.addActionListener(此);
}
公开作废开始()
{}
公共停车场()
{}  
公共空间涂料(图g)
{
g、 clearRect(50,50500300);
g、 draw3DRect(50,50500300,假);
g、 setFont(新字体(s、i、30));
g、 setColor(Color.BLUE);
g、 抽绳(jt.getText(),100100);
}
已执行的公共无效操作(操作事件e)
{
如果(例如getSource()==Font\u Style1)
i=Font.PLAIN;
如果(例如getSource()==Font\u Style2)
i=Font.BOLD;
如果(例如getSource()==Font\u Style3)
{
i=字体斜体;
int j=Font.BOLD;
i=i+j;
}       
如果(e.getSource()==Font|u Family|u Name | e.getSource()==OK)
{
if(Font\u Family\u Name.isSelected())
s=“Serif”;
其他的
s=“高保罗”;
}       
重新油漆();
}
}

Java允许每个文件有一个公共类,公共类名称应与文件名相同。对于您来说,应该将文件名设为Appletprac.java

你可以看到这个链接

编写如下所示的html文件:

test.html

<html>
<applet 
   code = Appletprac.class
   width = 200
   height = 100>
</applet>
</html>


将编译后的.class文件放在同一文件夹中,并在cmd中输入
appletviewer test.html

如果外部类具有
public
修饰符,则它应该位于具有相同类名和
.java
扩展名的文件中。这是一个在文件系统中构造类和包的简单java约定。

我很清楚这个错误。您的文件名是什么?我想错误消息已经包含了解决方案:您是否将您的文件命名为Appletprac.java?确定获得了解决方案我正在使用Appletprac.java名称保存文件。我已经将它重命名为Appletprac.java,现在正在编译它。但在运行时,我遇到另一个错误:在类Appletprac中找不到Main方法,请将Main方法定义为:publicstaticvoidmain(String[]args)或者JavaFX应用程序类必须扩展JavaFX.aaapplication.application可能是Ok的重复我的程序现在正在编译,但运行后我得到了以下错误:在类Appletprac中找不到Main方法,请将Main方法定义为:public static void Main(字符串[]args)或者JavaFX应用程序类必须扩展JavaFX.aaapplication.applicationId您是否将其作为Java应用程序运行?您应该将其作为Java applet运行如果您使用eclipse,您可以单击RunAs applet。否则,您可以编写一个简单的html文件来运行itOh,我将它作为java应用程序运行!谢谢你的帮助!:)我正在命令提示符下运行此程序。@Tanmay乐于帮助:)