我这个程序总共3个文件。
按理说运行应该是一个主窗口有菜单栏和菜单项。
第一个文件是可以编译的。但第二个就会出现需要class或interface 。如果把三个文件放到同一个文件中去掉后两个类的public可以通过编译,但运行时会提示找不到main方法。
我用的jcreator jdk1.5 环境变量设置正确以前用swt编过类似的程序。
InfoJMenu文件package javaclass;
import javax.swing.*;
public class InfoJMenu
{
private JFrame mainFrame=null;
private JMenuBar myMenuBar=null;
private JMenu fileMenu=null;
private JMenuItem file_Connect,file_ToFile,file_FromFile,file_Exit;
private JMenu opMenu=null;
private JMenuItem op_Insert,op_Delete,op_Update;
private JMenu queryMenu=null;
private JMenuItem query_Grid,query_Card;
private JMenu helpMenu=null;
private JMenuItem help_About;public InfoJMenu(JFrame mainFrame)
{
this.mainFrame=mainFrame;
init();
}private void init()
{
myMenuBar=new JMenuBar();
mainFrame.setJMenuBar(myMenuBar);
AddMenu();
mainFrame.setVisible(true);}
private void AddMenu()
{
fileMenu=new JMenu("文件");
myMenuBar.add(fileMenu);
fileMenu.add(file_Connect= new JMenuItem("连接"));
fileMenu.addSeparator();
fileMenu.add(file_ToFile= new JMenuItem("导入数据"));
fileMenu.add(file_FromFile=new JMenuItem("导出数据"));
fileMenu.addSeparator();
fileMenu.add(file_Exit=new JMenuItem("Exit"));
opMenu=new JMenu("数据操作");
myMenuBar.add(opMenu);
opMenu.add(op_Insert=new JMenuItem("添加"));
opMenu.add(op_Delete=new JMenuItem("删除"));
opMenu.add(op_Update=new JMenuItem("修改"));
queryMenu=new JMenu("数据查询");
myMenuBar.add(queryMenu);
queryMenu.add(query_Grid=new JMenuItem("表格"));
queryMenu.add(query_Card=new JMenuItem("卡片"));
helpMenu=new JMenu("帮助");
myMenuBar.add(helpMenu);
helpMenu.add(help_About=new JMenuItem("关于系统"));
}
}================
InfoJFrame文件
package javaclass;
import javax.swing.*;public class InfoJFrame
{
private JFrame mainFrame;

public InfoJFrame()
{
CreateMainWindow();
InfoJMenu myMenu=new InfoJMenu(mainFrame);
}
private void CreateMainWindow()
{
mainFrame=new JFrame(" ");
mainFrame.setSize(400,300);
mainFrame.setLocation(100,100);
mainFrame.setVisible(true);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
===============
InfoWindowDemo文件
package javaclass;
import javaclass.*;
public class InfoWindowDemo
{
public static void main()
{
       InfoJFrame myframe=new InfoJFrame();
}
}

解决方案 »

  1.   

    程序好像没有问题,应该是classpath设置有问题。
      

  2.   

    可能是mainclass设置有问题吧。楼主设置下mainclass再试一下
      

  3.   

    InfoWindowDemo文件
    package javaclass;
    import javaclass.*;
    public class InfoWindowDemo
    {
    public static void main()
    {
    InfoJFrame myframe=new InfoJFrame();
    }
    }我想问一下,这个main()方法是要运行的吗?如果是,请改成public static void main(String[] args)