⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 antgui.java

📁 一个非常好的
💻 JAVA
字号:
/* Applet to solve the Traveling Salesman Problem
 * Copyright (C) 2002 Tobias Oetzel (Tobias.Oetzel@gmx.de)
 * This program is free software; you can redistribute it and/or modify it 
 * under the terms of the GNU General Public License as published by the 
 * Free Software Foundation; either version 2 of the License, or (at your option)
 * any later version. This program is distributed in the hope that it will be 
 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 
 * You should have received a copy of the GNU General Public License along with this program;
 * if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 
 * Boston, MA 02111-1307, USA. 
*/



//  Ant Colony Optimization Gui
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;
import java.awt.*;
import java.util.*;
import java.awt.event.*;
import java.text.*;

public class antgui 
{
    
  private JPanel    MyContainer;
  private JLabel    MaxCyclesLabel,
                    ImpTrailLabel,
                    ImpVisibilityLabel,
                    TrailPersistenceLabel//,
;//                    TrailQuantityLabel;
  private JComboBox MaxCyclesComboBox,
                    ImpTrailComboBox,
                    ImpVisibilityComboBox,
                    TrailPersistenceComboBox//,
;//                    TrailQuantityComboBox;
  protected String  MaxCycles,
                    ImpTrail,
                    ImpVisibility,
                    TrailPersistence,
                    TrailQuantity;
  private tsp       TspInstance;                    

 public antgui(JPanel S, tsp MyInstance)                   
 {
   MyContainer=S;
   TspInstance=MyInstance;
   
 }  
  
 public void InitContent()
 {
   Font MyFont   = new Font("System",0,12);

   MaxCyclesLabel = new JLabel();
   MaxCyclesLabel.setVisible(false);
   MaxCyclesLabel.setText("Runden");
   MaxCyclesLabel.setBounds(25,68,150,15);
   MaxCyclesLabel.setFont(MyFont);

   MaxCyclesComboBox = new JComboBox();
   MaxCyclesComboBox.setBackground(Color.white);
   MaxCyclesComboBox.setVisible(false);
   MaxCyclesComboBox.setEditable(true);
   MaxCyclesComboBox.setBounds(25,84,200,21);
   MaxCyclesComboBox.setFont(MyFont);
   MaxCyclesComboBox.addItem("10");
   MaxCyclesComboBox.addItem("30");
   MaxCyclesComboBox.addItem("50");
   MaxCyclesComboBox.addItem("100");
   MaxCyclesComboBox.addItem("500");
   MaxCyclesComboBox.addItem("1000");
   MaxCycles="30";
   MaxCyclesComboBox.setSelectedIndex(1);
   MaxCyclesComboBox.addActionListener(new ActionListener () 
     {
       public void actionPerformed(ActionEvent e)
       {
         MaxCycles=(String)MaxCyclesComboBox.getSelectedItem();
       }
      });
      

   ImpTrailLabel = new JLabel();
   ImpTrailLabel.setVisible(false);
   ImpTrailLabel.setText("Bedeutung der Pheromone");
   ImpTrailLabel.setBounds(25,116,250,15);
   ImpTrailLabel.setFont(MyFont);
 
   ImpTrailComboBox = new JComboBox();
   ImpTrailComboBox.setBackground(Color.white);
   ImpTrailComboBox.setEditable(true);
   ImpTrailComboBox.setVisible(false);
   ImpTrailComboBox.setBounds(25,132,200,21);
   ImpTrailComboBox.setFont(MyFont);
   ImpTrailComboBox.addItem("0");
   ImpTrailComboBox.addItem("0.1");
   ImpTrailComboBox.addItem("0.2");
   ImpTrailComboBox.addItem("0.3");
   ImpTrailComboBox.addItem("0.4");
   ImpTrailComboBox.addItem("0.5");
   ImpTrailComboBox.addItem("1");
   ImpTrailComboBox.addItem("2");
   ImpTrailComboBox.addItem("5");
   ImpTrail="1";   
   ImpTrailComboBox.setSelectedIndex(6);
   ImpTrailComboBox.addActionListener(new ActionListener () 
     {
       public void actionPerformed(ActionEvent e)
       {
         ImpTrail=(String)ImpTrailComboBox.getSelectedItem();
       }
     });
  
   ImpVisibilityLabel = new JLabel();
   ImpVisibilityLabel.setText("Bedeutung der Entfernung");
   ImpVisibilityLabel.setVisible(false);
   ImpVisibilityLabel.setBounds(25,164,250,15);
   ImpVisibilityLabel.setFont(MyFont);
  
   ImpVisibilityComboBox = new JComboBox();
   ImpVisibilityComboBox.setBackground(Color.white);
   ImpVisibilityComboBox.setEditable(true);
   ImpVisibilityComboBox.setVisible(false);
   ImpVisibilityComboBox.setBounds(25,180,200,21);
   ImpVisibilityComboBox.setFont(MyFont);
   ImpVisibilityComboBox.addItem("0");
   ImpVisibilityComboBox.addItem("0.1");
   ImpVisibilityComboBox.addItem("0.2");
   ImpVisibilityComboBox.addItem("0.3");
   ImpVisibilityComboBox.addItem("0.4");
   ImpVisibilityComboBox.addItem("0.5");
   ImpVisibilityComboBox.addItem("1");
   ImpVisibilityComboBox.addItem("2");
   ImpVisibilityComboBox.addItem("5");
   ImpVisibility="5";   
   ImpVisibilityComboBox.setSelectedIndex(8);
    
   ImpVisibilityComboBox.addActionListener(new ActionListener () 
     {
       public void actionPerformed(ActionEvent e)
       {
         ImpVisibility=(String)ImpVisibilityComboBox.getSelectedItem();
       }
     });
      

   TrailPersistenceLabel = new JLabel();
   TrailPersistenceLabel.setText("Pheromon-Verdunstungsfaktor");
   TrailPersistenceLabel.setVisible(false);
   TrailPersistenceLabel.setBounds(25,212,250,15);
   TrailPersistenceLabel.setFont(MyFont);
  
   TrailPersistenceComboBox = new JComboBox();
   TrailPersistenceComboBox.setBackground(Color.white);
   TrailPersistenceComboBox.setEditable(true);
   TrailPersistenceComboBox.setVisible(false);
   TrailPersistenceComboBox.setBounds(25,228,200,21);
   TrailPersistenceComboBox.setFont(MyFont);
   TrailPersistenceComboBox.addItem("0.3");
   TrailPersistenceComboBox.addItem("0.5");
   TrailPersistenceComboBox.addItem("0.7");
   TrailPersistenceComboBox.addItem("0.9");
   TrailPersistenceComboBox.addItem("0.99");
   TrailPersistenceComboBox.addItem("0.999");
   TrailPersistence="0.5";   
   TrailPersistenceComboBox.setSelectedIndex(1);
    
   TrailPersistenceComboBox.addActionListener(new ActionListener () 
     {
       public void actionPerformed(ActionEvent e)
       {
         TrailPersistence=(String)TrailPersistenceComboBox.getSelectedItem();
       }
     });


   /*
   TrailQuantityLabel = new JLabel();
   TrailQuantityLabel.setText("Trail Quantity");
   TrailQuantityLabel.setVisible(false);
   TrailQuantityLabel.setBounds(25,260,250,15);
   TrailQuantityLabel.setFont(MyFont);
  
   TrailQuantityComboBox = new JComboBox();
   TrailQuantityComboBox.setBackground(Color.white);
   TrailQuantityComboBox.setEditable(true);
   TrailQuantityComboBox.setVisible(false);
   TrailQuantityComboBox.setBounds(25,276,200,21);
   TrailQuantityComboBox.setFont(MyFont);
   TrailQuantityComboBox.addItem("1");
   TrailQuantityComboBox.addItem("100");
   TrailQuantityComboBox.addItem("10000");
   TrailQuantity="100";   
   TrailQuantityComboBox.setSelectedIndex(1);
   TrailQuantityComboBox.addActionListener(new ActionListener () 
     {
       public void actionPerformed(ActionEvent e)
       {
         TrailQuantity=(String)TrailQuantityComboBox.getSelectedItem();
       }
     });
    */

   TrailQuantity="100";
   
   MyContainer.add(MaxCyclesLabel);
   MyContainer.add(MaxCyclesComboBox);  

   MyContainer.add(ImpTrailLabel);
   MyContainer.add(ImpTrailComboBox);  
   
   MyContainer.add(ImpVisibilityLabel);
   MyContainer.add(ImpVisibilityComboBox);  
   
   MyContainer.add(TrailPersistenceLabel);
   MyContainer.add(TrailPersistenceComboBox);

//   MyContainer.add(TrailQuantityLabel);
//   MyContainer.add(TrailQuantityComboBox);

 }  
  
  public void ShowControls(boolean visible)
  {
    if (visible)
    {
      MaxCyclesLabel.setVisible(true);
      MaxCyclesComboBox.setVisible(true);
      ImpTrailLabel.setVisible(true);
      ImpTrailComboBox.setVisible(true);
      ImpVisibilityLabel.setVisible(true);
      ImpVisibilityComboBox.setVisible(true);
      TrailPersistenceLabel.setVisible(true);
      TrailPersistenceComboBox.setVisible(true);
//      TrailQuantityLabel.setVisible(true);
//      TrailQuantityComboBox.setVisible(true);
      if (TspInstance.MyDraw!=null)
      {
        TspInstance.MyDraw.repaint();
      }  
    }
    else
    {  
      MaxCyclesLabel.setVisible(false);
      MaxCyclesComboBox.setVisible(false);
      ImpTrailLabel.setVisible(false);
      ImpTrailComboBox.setVisible(false);
      ImpVisibilityLabel.setVisible(false);
      ImpVisibilityComboBox.setVisible(false);
      TrailPersistenceLabel.setVisible(false);
      TrailPersistenceComboBox.setVisible(false);
//      TrailQuantityLabel.setVisible(false);
//      TrailQuantityComboBox.setVisible(false);
      if (TspInstance.MyDraw!=null)
      {
        TspInstance.MyDraw.repaint();
      }  
    }
  }  
  
  public void HandleControls(boolean enabled)
  {
    if (enabled)
    {
      MaxCyclesComboBox.setEnabled(true);
      ImpTrailComboBox.setEnabled(true);
      ImpVisibilityComboBox.setEnabled(true);
      TrailPersistenceComboBox.setEnabled(true);
//      TrailQuantityComboBox.setEnabled(true);
    }
    else
    {  
      MaxCyclesComboBox.setEnabled(false);
      ImpTrailComboBox.setEnabled(false);
      ImpVisibilityComboBox.setEnabled(false);
      TrailPersistenceComboBox.setEnabled(false);
//      TrailQuantityComboBox.setEnabled(false);
    }
  }  
    
  
  
  
}  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -