俺做课程设计,一共有4大题作业,分别实现的是不同的功能。有排序,迷宫,高精度四则运算,最短路径。它们分别在不同的包里面,现在我想做的是,在对话框中产生四个算法的选项,可以分别进入各自的程序算法实现各自功能。问题是:我现在每一个程序都是一个单独的个体,有自己的main()方法,请问可以通过什么方法来使得可以实现类似于菜单面板的东西,可以选择所需的程序。不知我说明白了没。谢谢!

解决方案 »

  1.   

    可以做成一个算法一个类或者一个函数,在main里面写菜单控制,这样改少点。要不用swing,事件驱动啊,不过要改不少吧
      

  2.   

    没关系,有自己的main()方法也没事儿。  import 进来就行,需要用什么就用什么呗。  classpath 设好了。
      

  3.   

    答:你做一个菜单,简单的话,就用命令行做。根据菜单选项,要调用那个算法程序,如:类A代表一个算法程序,你就直接调用:A.main(null)就行了,若要参数,则:A.main(串数组)。以上仅供你参考
      

  4.   

    做简单点的,把你做好的四个类import进来,做个界面,4个按钮,监听单击事件,判断事件源,
    如果是“排序按钮”,假设你的排序的程序是Sort类,那么就 new sort();它就在cmd窗口执行了。
    其它也如此。
      

  5.   

    对哦,得调用main,那就是new Sort().main(null);
      

  6.   

    试了一下,编了个粗糙的,可参考。import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class Test extends JFrame implements ActionListener{
    JButton b1 = new JButton("排序");
    JButton b2;
    JButton b3;
    JButton b4;
    Container c;
    public Test(){
    super("Test");
    c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
    b1 = new JButton("排序");
    b2 = new JButton("迷宫");
    b3 = new JButton("四则运算");
    b4 = new JButton("最短路径");
    b1.addActionListener(this);
    b2.addActionListener(this);
    b3.addActionListener(this);
    b4.addActionListener(this);

    c.add(b1);
    c.add(b2);
    c.add(b3);
    c.add(b4);
    setSize(200,100);
    setLocation(400,200);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
    }
    public void actionPerformed(ActionEvent e){
    if(e.getSource() == b1){
    //主要改这里的类名字和构造方法的参数
    new Sort().main(null);
    }
    if(e.getSource() == b2){
    //主要改这里的类名字和构造方法的参数
    new Maze().main(null);
    }
    if(e.getSource() == b3){
    //主要改这里的类名字和构造方法的参数
    new Opera().main(null);
    }
    if(e.getSource() == b4){
    //主要改这里的类名字和构造方法的参数
    new Path().main(null);
    }
    }
    public static void main(String[] args){
    new Test();
    }
    }
      

  7.   

    建议把代码改好吧,让你的算法类不要带main,只要匿名一个对象即可执行,
    你都能编这些,还搞不好这点啊,行的。
    你自己编个cmd命令下控制的菜单也不难啊,比你编的算法容易多了。提供一小段:
    构造一个能处理菜单的类,主要有以下方法:
    1.显示菜单提示信息,最后让用户输入菜单选项的函数menu_select():输入字符串,返回一个整数。
    2.处理函数:
    void handle_menu(void)
    {
    for(;;)
    {
    switch ( menu_select() )
    //此处会让你调用完了子菜单后返回主菜单,可先清下屏幕,再显示选择菜单
    {
    case 1:
    排序类
    break;
    case 2:
    迷宫类
    break;
    case 3:
    四则运算类
    break;
    case 4:
    最短路径类
    case '0':
                            System.out.pritnln("谢谢使用");
    System.exit(0);

    }
      

  8.   

    你也可以通过继承这些类,来重写这个main()方法。