📄 confdialog.java
字号:
/*
Copyright (C) 2004 Julia Handl
Email: Julia.Handl@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
*/
/*****************************************************************
Julia Handl - 18004385
Monash University, 1.7.2001
File: ConfDialog.java
Package: JavaAnts.TopicMap
Description:
* GUI for the modification and viewing of configuration parameters
*****************************************************************/
package javaants.topicmap;
import javaants.*;
import java.lang.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ConfDialog extends JDialog {
// GUI fields
private static JCheckBox homogene;
private static JTextField sizefield;
private static JTextField speedfield;
private static JTextField memoryfield;
private static JTextField kpfield;
private static JTextField kdfield;
private static JCheckBox adaptK;
private static JCheckBox adaptAlpha;
private static JTextField alphafield;
private static JTextField sigmafield;
private static JTextField docfield;
private static JTextField keyfield;
private static JComboBox choice;
private static JTextField xsizefield;
private static JTextField ysizefield;
private static JTextField runfield;
private static JCheckBox analysis;
private static JComboBox distfct;
private static JComboBox textMode;
private static JTextField astartfield;
private static JTextField aendfield;
private static JTextField aintervalfield;
private static JTextField k1startfield;
private static JTextField k1endfield;
private static JTextField k1intervalfield;
private static JTextField k2startfield;
private static JTextField k2endfield;
private static JTextField k2intervalfield;
private static JTextField uppercutofffield;
private static JTextField lowercutofffield;
private static JTextField dimensionfield;
private static JTextField browserfield;
private static JCheckBox defaultbox;
// pointers to data and GUI
private static Configuration conf;
private Frame frame;
private TopicMap map;
private Document [] documents;
private String [] keywords;
/************ Constructor ***********************************************************************************/
/** Dialog for the display and modification of the main paramter settings
* @param conf the current paramter settings
* @param frame the parent frame of this dialog
* @param map the currently active topic map (to trigger update)
* @param init flag indicating whether the topic map has een initialised
*/
public ConfDialog(Configuration conf, Frame frame, TopicMap map, boolean init) {
// store pointers
this.conf = conf;
this.frame = frame;
this.map = map;
this.documents = documents;
this.keywords = keywords;
// generate GUI
BorderLayout layout = new BorderLayout();
layout.setHgap(5);
layout.setVgap(5);
BorderLayout layout0 = new BorderLayout();
layout0.setHgap(5);
layout0.setVgap(5);
BorderLayout layout1 = new BorderLayout();
layout1.setHgap(5);
layout1.setVgap(5);
BorderLayout layout2 = new BorderLayout();
layout2.setHgap(5);
layout2.setVgap(5);
BorderLayout layout3 = new BorderLayout();
layout3.setHgap(5);
layout3.setVgap(5);
BorderLayout layout4 = new BorderLayout();
layout4.setHgap(5);
layout4.setVgap(5);
BorderLayout layout5 = new BorderLayout();
layout5.setHgap(5);
layout5.setVgap(5);
BorderLayout layout6 = new BorderLayout();
layout6.setHgap(5);
layout6.setVgap(5);
BorderLayout layout7 = new BorderLayout();
layout7.setHgap(5);
layout7.setVgap(5);
BorderLayout layout8 = new BorderLayout();
layout8.setHgap(5);
layout8.setVgap(5);
BorderLayout layout9 = new BorderLayout();
layout9.setHgap(5);
layout9.setVgap(5);
this.setTitle("Configuration");
this.setBackground(Color.lightGray);
ImageIcon icon = new ImageIcon("images/ant.gif");
JTabbedPane tabbedPane = new JTabbedPane();
// Ant Configuration
JPanel sizebox = new JPanel();
sizebox.setLayout(new BorderLayout());
JPanel antbox = new JPanel();
sizebox.setLayout(new BorderLayout());
JLabel sizelabel = new JLabel("Population Size");
sizebox.add(sizelabel, BorderLayout.WEST);
sizefield = new JTextField(conf.getsnants());
sizefield.setPreferredSize(new Dimension(50, 10));
sizebox.add(sizefield, BorderLayout.EAST);
JPanel speed = new JPanel();
speed.setLayout(new BorderLayout());
JPanel speedbox = new JPanel();
speedbox.setLayout(new BorderLayout());
JLabel speedlabel = new JLabel("Step size");
speedbox.add(speedlabel, BorderLayout.WEST);
speedfield = new JTextField(conf.getsspeed());
speedfield.setPreferredSize(new Dimension(50, 10));
speedbox.add(speedfield, BorderLayout.EAST);
speed.add(speedbox, BorderLayout.NORTH);
homogene = new JCheckBox("Homogenous step sizes");
homogene.setSelected(conf.gethomogenous());
speed.add(homogene, BorderLayout.SOUTH);
JPanel memorybox = new JPanel();
memorybox.setLayout(new BorderLayout());
JLabel memorylabel = new JLabel("Memory Size");
memorybox.add(memorylabel, BorderLayout.WEST);
memoryfield = new JTextField(conf.getsmemsize());
memoryfield.setPreferredSize(new Dimension(50, 10));
memorybox.add(memoryfield, BorderLayout.EAST);
JPanel upperbox = new JPanel();
upperbox.setLayout(new BorderLayout());
upperbox.add(sizebox, BorderLayout.NORTH);
upperbox.add(speed, BorderLayout.SOUTH);
upperbox.add(memorybox, BorderLayout.CENTER);
JPanel lowerbox = new JPanel();
lowerbox.setLayout(new BorderLayout());
JLabel picklabel = new JLabel("Pick & Drop Parameters");
lowerbox.add(picklabel, BorderLayout.NORTH);
JPanel pbox = new JPanel();
pbox.setLayout(new BorderLayout());
JPanel kbox = new JPanel();
kbox.setLayout(new BorderLayout());
JPanel innerbox1 = new JPanel();
innerbox1.setLayout(new BorderLayout());
JPanel picbox = new JPanel();
picbox.setLayout(new BorderLayout());
JLabel kplabel = new JLabel("kp");
kpfield = new JTextField(conf.getskp());
kpfield.setPreferredSize(new Dimension(50, 10));
picbox.add(kplabel, BorderLayout.WEST);
picbox.add(kpfield, BorderLayout.EAST);
kbox.add(picbox, BorderLayout.NORTH);
JPanel dropbox = new JPanel();
dropbox.setLayout(new BorderLayout());
JLabel kdlabel = new JLabel("kd");
kdfield = new JTextField(conf.getskd());
kdfield.setPreferredSize(new Dimension(50, 10));
dropbox.add(kdlabel, BorderLayout.WEST);
dropbox.add(kdfield, BorderLayout.EAST);
kbox.add(dropbox, BorderLayout.SOUTH);
innerbox1.add(kbox, BorderLayout.CENTER);
pbox.add(innerbox1, BorderLayout.WEST);
JPanel innerbox = new JPanel();
innerbox.setLayout(new BorderLayout());
JPanel alphabox = new JPanel();
alphabox.setLayout(new BorderLayout());
JLabel alphalabel = new JLabel("alpha");
alphafield = new JTextField(conf.getsalpha());
alphafield.setPreferredSize(new Dimension(50, 10));
alphabox.add(alphalabel, BorderLayout.WEST);
alphabox.add(alphafield, BorderLayout.EAST);
innerbox.add(alphabox, BorderLayout.NORTH);
adaptAlpha = new JCheckBox("Adaptive alpha");
adaptAlpha.setSelected(conf.getadaptalpha());
innerbox.add(adaptAlpha, BorderLayout.CENTER);
JPanel sigmabox = new JPanel();
sigmabox.setLayout(new BorderLayout());
JLabel sigmalabel = new JLabel("sigma");
sigmafield = new JTextField(conf.getssigma());
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -