俺做课程设计,一共有4大题作业,分别实现的是不同的功能。有排序,迷宫,高精度四则运算,最短路径。它们分别在不同的包里面,现在我想做的是,在对话框中产生四个算法的选项,可以分别进入各自的程序算法实现各自功能。问题是:我现在每一个程序都是一个单独的个体,有自己的main()方法,请问可以通过什么方法来使得可以实现类似于菜单面板的东西,可以选择所需的程序。不知我说明白了没。谢谢!
调试欢乐多
如果是“排序按钮”,假设你的排序的程序是Sort类,那么就 new sort();它就在cmd窗口执行了。
其它也如此。
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();
}
}
你都能编这些,还搞不好这点啊,行的。
你自己编个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);
}