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

📄 pushbuttoncontrols.java

📁 经典的货郎担问题解决办法
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
      }      CheckBoxControls.heuristicsOff();    }  }  private static class ActionHeuristicsRandomize    implements ActionListener  {    public void actionPerformed(ActionEvent event)    {      if (CheckBoxControls.getState(CheckBoxControls.CBC_DEBUG_PRINTOUTS))      {        System.out.println        (          "in Traveller.java, button \"Randomize Heuristics\" pushed"        );      }      CheckBoxControls.heuristicsRandomize();    }  }  private static ActionListener [] m_btnHeuristicsListeners =  {    new ActionHeuristicsOn(),    new ActionHeuristicsOff(),    new ActionHeuristicsRandomize()  };  // constants  private final static int BTN_STOP      = 0;  private final static int BTN_RESUME    = 1;  private final static int BTN_START     = 2;  private final static int BTN_TESTAGAIN = 3;  private final static int BTN_RESET     = 4;  private final static int BTN_NEWCITIES = 5;  private final static String [] BTN_TOOLBAR_LABEL =  {    "停止",    "恢复",    "开始",    "重新测试",    "复位",    "创建新城市"  };  private final static int BTN_CONFIG_CHANGE  = 0;  private final static int BTN_CONFIG_SET     = 1;  private final static int BTN_CONFIG_DEFAULT = 2;  private final static String [] BTN_CONFIG_LABEL =  {    "改变结构",    "设置结构",    "取消结构设置"  };  private final static int BTN_HEURISTICS_ON        = 0;  private final static int BTN_HEURISTICS_OFF       = 1;  private final static int BTN_HEURISTICS_RANDOMIZE = 2;  private final static String [] BTN_HEURISTICS_LABEL =  {    "激活所有探索法",    "废弃所有探索法",    "随机使用探索法"  };  private static TravellerFrame m_pushButtonsFrame    = null;  private static EdgedPanel     m_pushButtonsPanel    = null;  private static Panel          m_toolbarPanel        = null;  private static Panel          m_configurationPanel  = null;  private static Panel          m_heuristicsPanel     = null;  private static Button []      m_btnToolbar          = null;  private static Button []      m_btnConfig           = null;  private static Button []      m_btnHeuristics       = null;  private final static String PUSH_BUTTONS_NAME = "旅行商控制菜单";  public static void setup()  {    m_pushButtonsFrame  = new TravellerFrame(PUSH_BUTTONS_NAME);/*    m_toolbarFrame.setSize    (      TravellerFrame.PLAYFIELD_FRAME_WIDTH,      60      + ( 2 * TravellerFrame.FRAME_EDGE_THICKNESS )      + TravellerFrame.getTitleBarHeightAllowance()    );*/    m_pushButtonsFrame.setVisible(true);    m_pushButtonsFrame.invalidate();    // create tool bars via band objects    m_pushButtonsPanel = new EdgedPanel();    m_pushButtonsPanel.setBackground( TravellerColors.BAR_COLOR );    m_pushButtonsPanel.setLayout( new BorderLayout() );    m_toolbarPanel = new Panel();    m_toolbarPanel.setLayout( new FlowLayout() );    m_configurationPanel = new Panel();    m_configurationPanel.setLayout( new FlowLayout() );    m_heuristicsPanel = new Panel();    m_heuristicsPanel.setLayout( new FlowLayout() );    m_pushButtonsPanel.add( m_toolbarPanel, BorderLayout.NORTH );    m_pushButtonsPanel.add( m_configurationPanel, BorderLayout.CENTER );    m_pushButtonsPanel.add( m_heuristicsPanel, BorderLayout.SOUTH );    // create and add buttons    int nBtn = BTN_TOOLBAR_LABEL.length;    m_btnToolbar = new Button [nBtn];    Font tfont = new Font("SansSerif",Font.PLAIN,12);    for (int b = 0; b < nBtn; ++b)    {      m_btnToolbar[b] = new Button(BTN_TOOLBAR_LABEL[b]);      m_btnToolbar[b].addActionListener(m_btnToolbarListeners[b]);      m_btnToolbar[b].setBackground(TravellerColors.BTN_COLOR);      m_btnToolbar[b].setForeground(TravellerColors.BTN_TEXT);      m_btnToolbar[b].setFont(tfont);      m_toolbarPanel.add(m_btnToolbar[b]);    }    m_btnConfig = new Button[BTN_CONFIG_LABEL.length];    for ( int b = 0; b < BTN_CONFIG_LABEL.length; b++ )    {        m_btnConfig[b] = new Button(BTN_CONFIG_LABEL[b]);        m_btnConfig[b].setBackground(TravellerColors.BTN_COLOR);        m_btnConfig[b].setForeground(TravellerColors.BTN_TEXT);        m_btnConfig[b].setFont(tfont);        m_btnConfig[b].addActionListener(m_btnConfigListeners[b]);        m_configurationPanel.add(m_btnConfig[b]);    }    m_btnHeuristics = new Button[BTN_HEURISTICS_LABEL.length];    for ( int b = 0; b < BTN_HEURISTICS_LABEL.length; b++ )    {        m_btnHeuristics[b] = new Button(BTN_HEURISTICS_LABEL[b]);        m_btnHeuristics[b].setBackground(TravellerColors.BTN_COLOR);        m_btnHeuristics[b].setForeground(TravellerColors.BTN_TEXT);        m_btnHeuristics[b].setFont(tfont);        m_btnHeuristics[b].addActionListener(m_btnHeuristicsListeners[b]);        m_heuristicsPanel.add(m_btnHeuristics[b]);    }    m_pushButtonsFrame.add("Center", m_pushButtonsPanel);    m_pushButtonsFrame.pack();    m_pushButtonsFrame.validate();  }  public static void setButtonsNewProblem()  {    m_btnToolbar[BTN_STOP].setEnabled(false);    m_btnToolbar[BTN_RESUME].setEnabled(false);    m_btnToolbar[BTN_START].setEnabled(true);    m_btnToolbar[BTN_TESTAGAIN].setEnabled(false);    m_btnToolbar[BTN_RESET].setEnabled(true);    m_btnToolbar[BTN_NEWCITIES].setEnabled(true);    m_btnConfig[BTN_CONFIG_CHANGE].setEnabled(true);    m_btnConfig[BTN_CONFIG_SET].setEnabled(false);    m_btnConfig[BTN_CONFIG_DEFAULT].setEnabled(false);    m_btnHeuristics[BTN_HEURISTICS_ON].setEnabled(false);    m_btnHeuristics[BTN_HEURISTICS_OFF].setEnabled(false);    m_btnHeuristics[BTN_HEURISTICS_RANDOMIZE].setEnabled(false);    ValuatorControls.disable();    CheckBoxControls.disable();  }  protected static void setButtonsStopped()  {    m_btnToolbar[BTN_STOP].setEnabled(false);    m_btnToolbar[BTN_RESUME].setEnabled(true);    m_btnToolbar[BTN_START].setEnabled(false);    m_btnToolbar[BTN_TESTAGAIN].setEnabled(true);    m_btnToolbar[BTN_RESET].setEnabled(true);    m_btnToolbar[BTN_NEWCITIES].setEnabled(true);    m_btnConfig[BTN_CONFIG_CHANGE].setEnabled(true);    m_btnConfig[BTN_CONFIG_SET].setEnabled(false);    m_btnConfig[BTN_CONFIG_DEFAULT].setEnabled(false);    m_btnHeuristics[BTN_HEURISTICS_ON].setEnabled(false);    m_btnHeuristics[BTN_HEURISTICS_OFF].setEnabled(false);    m_btnHeuristics[BTN_HEURISTICS_RANDOMIZE].setEnabled(false);    ValuatorControls.disable();    if ( TravellerWorld.getTravellerWorld() != null )    {      if ( CheckBoxControls.getState(CheckBoxControls.CBC_DEBUG_PRINTOUTS) )      {        System.out.println        (          "best Chromosome at Stop: "          + TravellerWorld.getTravellerWorld().dumpBestChromosome()        );      }    }    CheckBoxControls.disable();  }  protected static void setButtonsRunning()  {    m_btnToolbar[BTN_STOP].setEnabled(true);    m_btnToolbar[BTN_RESUME].setEnabled(false);    m_btnToolbar[BTN_START].setEnabled(false);    m_btnToolbar[BTN_TESTAGAIN].setEnabled(true);    m_btnToolbar[BTN_RESET].setEnabled(false);    m_btnToolbar[BTN_NEWCITIES].setEnabled(false);    m_btnConfig[BTN_CONFIG_CHANGE].setEnabled(false);    m_btnConfig[BTN_CONFIG_SET].setEnabled(false);    m_btnConfig[BTN_CONFIG_DEFAULT].setEnabled(false);    m_btnHeuristics[BTN_HEURISTICS_ON].setEnabled(false);    m_btnHeuristics[BTN_HEURISTICS_OFF].setEnabled(false);    m_btnHeuristics[BTN_HEURISTICS_RANDOMIZE].setEnabled(false);    ValuatorControls.disable();    CheckBoxControls.disable();  }  protected static void setButtonsChanging()  {    m_btnToolbar[BTN_STOP].setEnabled(false);    m_btnToolbar[BTN_RESUME].setEnabled(false);    m_btnToolbar[BTN_START].setEnabled(false);    m_btnToolbar[BTN_TESTAGAIN].setEnabled(false);    m_btnToolbar[BTN_RESET].setEnabled(false);    m_btnToolbar[BTN_NEWCITIES].setEnabled(false);    m_btnConfig[BTN_CONFIG_CHANGE].setEnabled(false);    m_btnConfig[BTN_CONFIG_SET].setEnabled(true);    m_btnConfig[BTN_CONFIG_DEFAULT].setEnabled(true);    m_btnHeuristics[BTN_HEURISTICS_ON].setEnabled(true);    m_btnHeuristics[BTN_HEURISTICS_OFF].setEnabled(true);    m_btnHeuristics[BTN_HEURISTICS_RANDOMIZE].setEnabled(true);    ValuatorControls.enable();    CheckBoxControls.enable();  }  // Save data from configuration panel into member data,  // then use it to repaint the configuration panel with loadConfig().  public static void saveConfig()  {    ValuatorControls.saveSettings();    CheckBoxControls.saveSettings();    loadConfig();  }  public static void loadConfig()  {    ValuatorControls.loadSettings();    CheckBoxControls.loadSettings();  }  // Copy default values to member data, then use it to paint  // the configuration panel with loadConfig().  public static void loadDefaultConfig()  {    ValuatorControls.loadDefaultSettings();    CheckBoxControls.loadDefaultSettings();    loadConfig();  }}

⌨️ 快捷键说明

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