用静态main调用类的问题

时间:2013-05-05 01:42:47

标签: java image background override mainclass

我想知道这会在调用时干扰主类,我发现没有合适的方法来制作一个主类并在决赛中调用它。

 import java.awt.*;
  import java.awt.event.*;
import java.util.*;
 import java.io.*;
 import javax.imageio.*;
  import javax.swing.*;


 class Converter extends JFrame  implements 
 KeyListener, ItemListener, MouseListener {


//insert body here//    


@Override
        public void paintComponents (Graphics g)  {g.drawImage(icon.getImage(), 0, 20, 500,210, this);
        super.paintComponents (g);
        Color transparent = new Color (0, true);
        background.setBackground(transparent);
        repaint ();
        background.setVisible(true);
        pack();
        setContentPane(background);
        background.setLayout(new FlowLayout());

        add (background);
        }    
            }











  class ShowconverterFrame  {
     public static void main (String args []) {
        new Converter ();
        }
}

您好,我想弄清楚为什么这不会工作...任何帮助表示赞赏!它返回“找不到主类”,并且不能将其声明为静态。我刚把这件作品加到了身上,所有的东西都突然间停止了。我一直在尝试实现一个JPanel,其中我有一个JLabel是一个图像。

1 个答案:

答案 0 :(得分:0)

好的,首先:你的Converter类还有更多,正确(稍后编辑:当我写这篇文章时,我指的是你发布的最初的,更长的代码)?您已经在这3个接口中实现了所有方法?如果你不需要它们,我建议你看一下Adapters。这是一个讨论监听器和适配器之间差异的主题: What is the difference between listeners and adapters?。如果您不需要所有这些接口,那么使用如此多的方法来实现这么多接口是非常不好的做法。

现在,如果您的Converter类功能齐全,则功能入口点类应如下所示:

public class ShowconverterFrame  {
     public static void main (String [] args) {
        new Converter().setVisible(true);
     }
}

将此代码放在同一个包中的另一个.java文件中(名为ShowconverterFrame.java)并运行它。此外,如果您不使用IDE,Netbeans很容易为初学者使用,它会对您有所帮助。 :)

Aaand ...序列版本ID具有以下用途:What is a serialVersionUID and why should I use it?。正如您所看到的,它与您的问题的答案无关,但很高兴知道。