antapp.java
来自「实现蚂蚁算法」· Java 代码 · 共 53 行
JAVA
53 行
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import SimFrameWork.*;
public class AntApp extends JFrame{
public AntApp(){
super("Ant Foraging Simulation");
try{jbInit();}
catch(Exception e){e.printStackTrace();}
}
private void jbInit() throws Exception{
getContentPane().setLayout(new BorderLayout());
displayPanel=new JPanel();
displayPanel.setPreferredSize(new Dimension(WIDTH*BLOCKSIZE,HEIGHT*BLOCKSIZE));
getContentPane().add("Center",displayPanel);
JPanel statusPanel=new JPanel(new BorderLayout());
statusPanel.setBorder(BorderFactory.createLoweredBevelBorder());
getContentPane().add("South",statusPanel);
statusLabel=new JLabel();
statusPanel.add(statusLabel);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
pack();
setVisible(true);
}
public void runSimulation(){
AntDisplay display=new AntDisplay(WIDTH,HEIGHT,BLOCKSIZE,displayPanel);
AntWorld world=new AntWorld(WIDTH,HEIGHT,display);
control=new MainLoop(world);
control.start();
status=new AntStatus(world,statusLabel);
status.start();
}
public void stopSimulation(){
status.stopControl();
control.stopControl();
}
public static void main(String args[]){
AntApp app=new AntApp();
app.runSimulation();
}
private MainLoop control;
private AntStatus status;
private JPanel displayPanel;
private JLabel statusLabel;
private final int WIDTH=100;
private final int HEIGHT=100;
private final int BLOCKSIZE=8;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?