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

📄 checkboxcontrols.java~1~

📁 经典的货郎担问题解决办法
💻 JAVA~1~
字号:
/*** This code class was written by Kent Paul Dolan.  Most of its original** contents were removed from Scott Robert Ladd's Traveller.java and** TravellerWorld.java source files (but it has grown manyfold in size** over Scott's original work); see those files for Scott's copyright** rules.  See accompanying file TravellerDoc.html for status of the** modifications here (an extensive refactoring and rewrite) for your** use.*/package com.well.www.user.xanthian.java.ui;import java.awt.*;import java.awt.event.*;import com.coyotegulch.ui.*;import com.well.www.user.xanthian.java.tools.*;public class CheckBoxControls{  public CheckBoxControls()  {    super();  }/*** Create zillions of checkboxes.** ** This is lots easier to maintain since I collapsed Scott's three** naming schemes (member variable names, mask names, and array index** names) into one (the latter), got rid of all the individual member** boolean variables in favor of arrays of booleans named by the index** names only, and consolidated all the checkbox stuff in this separate** class accessed the same way from Traveller as from TravellerWorld.** Somewhere, though, I suspect, there is still a skinny little** TravellerCheckBox class waiting to be found in all this fat.** ** At least the Easter egg hunt for stuff to update has been simplified** when adding a new checkbox.*//*** Seize control of our own destiny, own our own window and the panel** that fills it.*/  private static TravellerFrame m_skillsFrame   = null;  private static EdgedPanel     m_skillsPanel   = null;  private final static String SKILLS_NAME = "旅行商功能结构菜单";  private final static int      HOW_MANY_COLUMNS = 3;/*** Assign names to array locations to help keep them in synch.*/  // layout pattern options  public final static int CBC_LAYOUT_CIRCULAR                            =  0;  public final static int CBC_LAYOUT_EVEN_GRID                           =  1;  public final static int CBC_LAYOUT_FRACTAL                             =  2;  public final static int CBC_LAYOUT_NESTED_GRID                         =  3;  public final static int CBC_LAYOUT_POLY_SPIRAL                         =  4;  public final static int CBC_LAYOUT_RANDOM                              =  5;  // other layout options  public final static int CBC_LAYOUT_PERTURB                             =  6;  // MAINTAINER NOTE:  Fix CBC_FIRST_HEURISTIC if one is added here.  // sexual reproducers  public final static int CBC_HEURISTIC_CYCLIC_CROSSOVER                 =  7;  public final static int CBC_HEURISTIC_EDGE_PRESERVING_CROSSOVER        =  8;  public final static int CBC_HEURISTIC_ORDERED_CROSSOVER                =  9;  public final static int CBC_HEURISTIC_PARTIAL_MATCH_CROSSOVER          = 10;  public final static int CBC_HEURISTIC_ROLLING_CROSSOVER                = 11;  // consultative reproducers  public final static int CBC_HEURISTIC_INVER_OVER                       = 12;  // asexual reproducers  public final static int CBC_HEURISTIC_DEWRINKLER                       = 13;  public final static int CBC_HEURISTIC_DISORDERED_SLIDE                 = 14;  public final static int CBC_HEURISTIC_INVERT                           = 15;  public final static int CBC_HEURISTIC_MOVE                             = 16;  public final static int CBC_HEURISTIC_OPTIMIZE_NODES_AND_EDGES_NEAR_A_POINT      = 17;  public final static int CBC_HEURISTIC_OPTIMIZE_NODES_AND_EDGES_NEAR_EVERY_CITY   = 18;  public final static int CBC_HEURISTIC_OPTIMIZE_NODES_NEAR_A_POINT      = 19;  public final static int CBC_HEURISTIC_OPTIMIZE_NODES_NEAR_EVERY_CITY   = 20;  public final static int CBC_HEURISTIC_ORDERED_SLIDE                    = 21;  public final static int CBC_HEURISTIC_PERMUTE_A_SUBLIST                = 22;  public final static int CBC_HEURISTIC_PERMUTE_CUTS_NEAR_A_POINT        = 23;  public final static int CBC_HEURISTIC_PERMUTE_CUTS_NEAR_EVERY_CITY     = 24;  public final static int CBC_HEURISTIC_PERMUTE_SINGLES                  = 25;  public final static int CBC_HEURISTIC_PERMUTE_SUBLISTS                 = 26;  public final static int CBC_HEURISTIC_QUASI_QUICK_SORT                 = 27;  public final static int CBC_HEURISTIC_QUASI_SHELL_SORT_INVERTER        = 28;  public final static int CBC_HEURISTIC_QUASI_SHELL_SORT_SWAPPER         = 29;  public final static int CBC_HEURISTIC_RANDOM_LOOP_CUTS                 = 30;  public final static int CBC_HEURISTIC_RANDOM_LOOP_NODES                = 31;  public final static int CBC_HEURISTIC_RANDOM_LOOP_NODES_AND_EDGES      = 32;  public final static int CBC_HEURISTIC_SMOOTHER                         = 33;  public final static int CBC_HEURISTIC_SNOW_PLOW                        = 34;  public final static int CBC_HEURISTIC_SNOW_PLOW_SQUEEZEBOX             = 35;  public final static int CBC_HEURISTIC_SWAP                             = 36;  // MAINTAINER NOTE:  Fix CBC_LAST_HEURISTIC if one is added here.  // complex metaheuristics  public final static int CBC_METAHEURISTIC_ALLOPATRIC_DEMES             = 37;  public final static int CBC_METAHEURISTIC_ANNEALING                    = 38;  public final static int CBC_METAHEURISTIC_COEVOLVE_CROPPERS            = 39;  public final static int CBC_METAHEURISTIC_SINGLE_ELITISM               = 40;  public final static int CBC_METAHEURISTIC_TABU_SEARCH                  = 41;  // selection biasing metaheuristics  public final static int CBC_METAHEURISTIC_ROULETTE_WHEEL               = 42;  public final static int CBC_METAHEURISTIC_STRONG_TOURNEY               = 43;  public final static int CBC_METAHEURISTIC_WEAK_TOURNEY                 = 44;  // population genome seeding options  public final static int CBC_SEED_FROM_DELAUNEY_TRIANGULATION           = 45;  public final static int CBC_SEED_FROM_ELASTIC_NET                      = 46;  public final static int CBC_SEED_FROM_LOCAL_OPTIMIZATION               = 47;  public final static int CBC_SEED_FROM_MINIMAL_SPANNING_TREE            = 48;  public final static int CBC_SEED_FROM_RANDOM_POINTS                    = 49;  // inferior genome drawing options  public final static int CBC_DEBUG_DRAW_ALL_ALWAYS                      = 50;  public final static int CBC_DEBUG_DRAW_ALL_ONCE                        = 51;  // debugging controls  public final static int CBC_DEBUG_PRINTOUTS                            = 52;  public final static int CBC_DEBUG_VISUAL_WINDOWS                       = 53;  public final static int CBC_DEBUG_PROGRESS_COUNTERS                    = 54;  // count for number of checkboxes altogether (zero  // based list!), used as a loop limit.  public final static int CBC_NUMBER_OF_CHECKBOXES                       = 55;  // loop controls; maintain with above list!!  private final static int CBC_FIRST_HEURISTIC = CBC_HEURISTIC_CYCLIC_CROSSOVER;  private final static int CBC_LAST_HEURISTIC  = CBC_HEURISTIC_SWAP;  // default checkbox settings, for initial setup and restore  // defaults cases.  private final static boolean [] m_defaults =  {    false,        // CBC_LAYOUT_CIRCULAR    false,        // CBC_LAYOUT_EVEN_GRID    false,        // CBC_LAYOUT_FRACTAL    false,        // CBC_LAYOUT_NESTED_GRID    false,        // CBC_LAYOUT_POLY_SPIRAL    true,         // CBC_LAYOUT_RANDOM    false,        // CBC_LAYOUT_PERTURB    false,        // CBC_HEURISTIC_CYCLIC_CROSSOVER    false,        // CBC_HEURISTIC_EDGE_PRESERVING_CROSSOVER    false,        // CBC_HEURISTIC_ORDERED_CROSSOVER    false,        // CBC_HEURISTIC_PARTIAL_MATCH_CROSSOVER    false,        // CBC_HEURISTIC_ROLLING_CROSSOVER    true,         // CBC_HEURISTIC_INVER_OVER    false,        // CBC_HEURISTIC_DEWRINKLER    false,        // CBC_HEURISTIC_DISORDERED_SLIDE    false,        // CBC_HEURISTIC_INVERT    false,        // CBC_HEURISTIC_MOVE    false,        // CBC_HEURISTIC_OPTIMIZE_NODES_AND_EDGES_NEAR_A_POINT    false,        // CBC_HEURISTIC_OPTIMIZE_NODES_AND_EDGES_NEAR_EVERY_CITY    false,        // CBC_HEURISTIC_OPTIMIZE_NODES_NEAR_A_POINT    false,        // CBC_HEURISTIC_OPTIMIZE_NODES_NEAR_EVERY_CITY    false,        // CBC_HEURISTIC_ORDERED_SLIDE    false,        // CBC_HEURISTIC_PERMUTE_A_SUBLIST    false,        // CBC_HEURISTIC_PERMUTE_CUTS_NEAR_A_POINT    false,        // CBC_HEURISTIC_PERMUTE_CUTS_NEAR_EVERY_CITY    false,        // CBC_HEURISTIC_PERMUTE_SINGLES    false,        // CBC_HEURISTIC_PERMUTE_SUBLISTS    false,        // CBC_HEURISTIC_QUASI_QUICK_SORT    false,        // CBC_HEURISTIC_QUASI_SHELL_SORT_INVERTER    false,        // CBC_HEURISTIC_QUASI_SHELL_SORT_SWAPPER    false,        // CBC_HEURISTIC_RANDOM_LOOP_CUTS    false,        // CBC_HEURISTIC_RANDOM_LOOP_NODES    false,        // CBC_HEURISTIC_RANDOM_LOOP_NODES_AND_EDGES    false,        // CBC_HEURISTIC_SMOOTHER    false,        // CBC_HEURISTIC_SNOW_PLOW    false,        // CBC_HEURISTIC_SNOW_PLOW_SQUEEZEBOX    false,        // CBC_HEURISTIC_SWAP    false,        // CBC_METAHEURISTIC_ALLOPATRIC_DEMES    false,        // CBC_METAHEURISTIC_ANNEALING    false,        // CBC_METAHEURISTIC_COEVOLVE_CROPPERS    false,        // CBC_METAHEURISTIC_SINGLE_ELITISM    false,        // CBC_METAHEURISTIC_TABU_SEARCH    true,         // CBC_METAHEURISTIC_ROULETTE_WHEEL    false,        // CBC_METAHEURISTIC_STRONG_TOURNEY    false,        // CBC_METAHEURISTIC_WEAK_TOURNEY    false,        // CBC_SEED_FROM_DELAUNEY_TRIANGULATION    false,        // CBC_SEED_FROM_ELASTIC_NET    false,        // CBC_SEED_FROM_LOCAL_OPTIMIZATION    false,        // CBC_SEED_FROM_MINIMAL_SPANNING_TREE    true,         // CBC_SEED_FROM_RANDOM_POINTS    false,        // CBC_DEBUG_DRAW_ALL_ALWAYS    false,        // CBC_DEBUG_DRAW_ALL_ONCE    false,        // CBC_DEBUG_PRINTOUTS    false,        // CBC_DEBUG_VISUAL_WINDOWS    true,         // CBC_DEBUG_PROGRESS_COUNTERS  };  // current checkbox states, initialized with default  // states from above list (isn't that _cute_?)  private static boolean m_states[] = new boolean[]  {    m_defaults[CBC_LAYOUT_CIRCULAR],    m_defaults[CBC_LAYOUT_EVEN_GRID],    m_defaults[CBC_LAYOUT_FRACTAL],    m_defaults[CBC_LAYOUT_NESTED_GRID],    m_defaults[CBC_LAYOUT_POLY_SPIRAL],    m_defaults[CBC_LAYOUT_RANDOM],    m_defaults[CBC_LAYOUT_PERTURB],    m_defaults[CBC_HEURISTIC_CYCLIC_CROSSOVER],    m_defaults[CBC_HEURISTIC_EDGE_PRESERVING_CROSSOVER],    m_defaults[CBC_HEURISTIC_ORDERED_CROSSOVER],    m_defaults[CBC_HEURISTIC_PARTIAL_MATCH_CROSSOVER],    m_defaults[CBC_HEURISTIC_ROLLING_CROSSOVER],    m_defaults[CBC_HEURISTIC_INVER_OVER],    m_defaults[CBC_HEURISTIC_DEWRINKLER],    m_defaults[CBC_HEURISTIC_DISORDERED_SLIDE],    m_defaults[CBC_HEURISTIC_INVERT],    m_defaults[CBC_HEURISTIC_MOVE],    m_defaults[CBC_HEURISTIC_OPTIMIZE_NODES_AND_EDGES_NEAR_A_POINT],    m_defaults[CBC_HEURISTIC_OPTIMIZE_NODES_AND_EDGES_NEAR_EVERY_CITY],    m_defaults[CBC_HEURISTIC_OPTIMIZE_NODES_NEAR_A_POINT],    m_defaults[CBC_HEURISTIC_OPTIMIZE_NODES_NEAR_EVERY_CITY],    m_defaults[CBC_HEURISTIC_ORDERED_SLIDE],    m_defaults[CBC_HEURISTIC_PERMUTE_A_SUBLIST],    m_defaults[CBC_HEURISTIC_PERMUTE_CUTS_NEAR_A_POINT],    m_defaults[CBC_HEURISTIC_PERMUTE_CUTS_NEAR_EVERY_CITY],    m_defaults[CBC_HEURISTIC_PERMUTE_SUBLISTS],    m_defaults[CBC_HEURISTIC_PERMUTE_SINGLES],    m_defaults[CBC_HEURISTIC_QUASI_QUICK_SORT],    m_defaults[CBC_HEURISTIC_QUASI_SHELL_SORT_INVERTER],    m_defaults[CBC_HEURISTIC_QUASI_SHELL_SORT_SWAPPER],    m_defaults[CBC_HEURISTIC_RANDOM_LOOP_CUTS],    m_defaults[CBC_HEURISTIC_RANDOM_LOOP_NODES],    m_defaults[CBC_HEURISTIC_RANDOM_LOOP_NODES_AND_EDGES],    m_defaults[CBC_HEURISTIC_SMOOTHER],    m_defaults[CBC_HEURISTIC_SNOW_PLOW],    m_defaults[CBC_HEURISTIC_SNOW_PLOW_SQUEEZEBOX],    m_defaults[CBC_HEURISTIC_SWAP],    m_defaults[CBC_METAHEURISTIC_ALLOPATRIC_DEMES],    m_defaults[CBC_METAHEURISTIC_ANNEALING],    m_defaults[CBC_METAHEURISTIC_COEVOLVE_CROPPERS],    m_defaults[CBC_METAHEURISTIC_SINGLE_ELITISM],    m_defaults[CBC_METAHEURISTIC_TABU_SEARCH],    m_defaults[CBC_METAHEURISTIC_ROULETTE_WHEEL],    m_defaults[CBC_METAHEURISTIC_STRONG_TOURNEY],    m_defaults[CBC_METAHEURISTIC_WEAK_TOURNEY],    m_defaults[CBC_SEED_FROM_DELAUNEY_TRIANGULATION],    m_defaults[CBC_SEED_FROM_ELASTIC_NET],    m_defaults[CBC_SEED_FROM_LOCAL_OPTIMIZATION],    m_defaults[CBC_SEED_FROM_MINIMAL_SPANNING_TREE],    m_defaults[CBC_SEED_FROM_RANDOM_POINTS],    m_defaults[CBC_DEBUG_DRAW_ALL_ALWAYS],    m_defaults[CBC_DEBUG_DRAW_ALL_ONCE],    m_defaults[CBC_DEBUG_PRINTOUTS],    m_defaults[CBC_DEBUG_VISUAL_WINDOWS],    m_defaults[CBC_DEBUG_PROGRESS_COUNTERS],  };  // Labels used in the user interface to identify the  // checkboxes.  private final static String [] m_labels =  {    // city layout controls    "环状布局? ",              // CBC_LAYOUT_CIRCULAR    "均匀网格状布局? ",             // CBC_LAYOUT_EVEN_GRID    "* 分散布局? ",             // CBC_LAYOUT_FRACTAL    "巢状网格布局? ",           // CBC_LAYOUT_NESTED_GRID    "螺旋状布局? ",           // CBC_LAYOUT_POLY_SPIRAL    "随机产生布局? ",                // CBC_LAYOUT_RANDOM    "混乱布局? ",               // CBC_LAYOUT_PERTURB    // sexual reproduction controls    "循环交叉探索法? ",                 // CBC_HEURISTIC_CYCLIC_CROSSOVER    "边缘保持插补交叉探索法? ",        // CBC_HEURISTIC_EDGE_PRESERVING_CROSSOVER    "顺序交叉探索法? ",                // CBC_HEURISTIC_ORDERED_CROSSOVER    "部分匹配交叉探索法? ",          // CBC_HEURISTIC_PARTIAL_MATCH_CROSSOVER    "滚动交叉探索法? ",                // CBC_HEURISTIC_ROLLING_CROSSOVER    // consultative reproduction controls    "inver_over算子探索法? ",                   // CBC_HEURISTIC_INVER_OVER    // asexual reproduction controls    "去皱探索法? ",                   // CBC_HEURISTIC_DEWRINKLER    "无序滑动探索法? ",             // CBC_HEURISTIC_DISORDERED_SLIDE    "倒置探索法? ",                       // CBC_HEURISTIC_INVERT    "Move探索法? ",                         // CBC_HEURISTIC_MOVE    "对一个城市附近节点和边界优化探索法

⌨️ 快捷键说明

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