예제 #1
0
  public void initComponents() {
    GridBagLayout gridBag = new GridBagLayout();
    GridBagConstraints constraints = new GridBagConstraints();

    JLabel label;
    JPanel panel;
    Dimension size;

    setBorder(new javax.swing.border.EtchedBorder());
    setLayout(gridBag);

    label = new JLabel(name);
    constraints.anchor = GridBagConstraints.WEST;
    constraints.gridwidth = GridBagConstraints.REMAINDER;
    gridBag.setConstraints(label, constraints);
    add(label);

    panel = filterOptions();
    gridBag.setConstraints(panel, constraints);
    add(panel);

    sliderCutoff = new JSlider(JSlider.VERTICAL);
    sliderCutoff.setPaintTicks(true);
    sliderCutoff.setToolTipText("Cutoff Frequency");
    sliderCutoff.setMinimum(0);
    sliderCutoff.setMaximum(500);
    sliderCutoff.setMinorTickSpacing(25);
    sliderCutoff.setMajorTickSpacing(100);
    sliderCutoff.setValue(100);
    sliderCutoff.addChangeListener(new CutoffListener(filter));
    constraints.anchor = GridBagConstraints.CENTER;
    constraints.gridwidth = 1;
    gridBag.setConstraints(sliderCutoff, constraints);
    add(sliderCutoff);

    sliderResonance = new JSlider(JSlider.VERTICAL);
    sliderResonance.setPaintTicks(true);
    sliderResonance.setToolTipText("Resonance (Pass-band Ripple)");
    sliderResonance.setMinimum(1);
    sliderResonance.setMaximum(58);
    sliderResonance.setMinorTickSpacing(3);
    sliderResonance.setMajorTickSpacing(57);
    sliderResonance.setValue(1);
    sliderResonance.addChangeListener(new ResonanceListener(filter));
    constraints.gridwidth = GridBagConstraints.REMAINDER;
    gridBag.setConstraints(sliderResonance, constraints);
    add(sliderResonance);

    label = new JLabel("Cutoff");
    constraints.gridwidth = 1;
    constraints.ipadx = 10;
    gridBag.setConstraints(label, constraints);
    add(label);

    label = new JLabel("Resonance");
    constraints.gridwidth = GridBagConstraints.REMAINDER;
    gridBag.setConstraints(label, constraints);
    add(label);
  }
예제 #2
0
  ApplicationFrame() {
    super("Ecuatii Neliniare");

    setSize(frameWidth, frameHeight);
    setDefaultCloseOperation(this.EXIT_ON_CLOSE);

    panel.setOpaque(true);
    getContentPane().add(panel);
    addComponentListener(this);

    for (int i = 0; i < Methods.length; i++) ChooseMethod.addItem(Methods[i]);
    buttonPanel.add(ChooseMethod);

    buttonPanel.setOpaque(true);
    JButton buttonAdd = new JButton("Aplica...");
    buttonAdd.setPreferredSize(new Dimension(125, 25));
    buttonAdd.addActionListener(this);
    buttonPanel.add(buttonAdd);

    unitXSlider.setMinorTickSpacing(5);
    unitXSlider.setPaintTicks(true);
    unitXSlider.addChangeListener(this);
    unitYSlider.setMinorTickSpacing(5);
    unitYSlider.setPaintTicks(true);
    unitYSlider.addChangeListener(this);
    buttonPanel.add(unitXSlider);
    buttonPanel.add(unitYSlider);

    Border padding = BorderFactory.createEmptyBorder(0, 20, 20, 20);
    panel.setBorder(padding);
    panel.add(buttonPanel, BorderLayout.NORTH);
    panel.add(graph, BorderLayout.CENTER);

    pack();

    setVisible(true);
  }
예제 #3
0
    protected JPanel makeDetailHintControlPanel() {
      JPanel controlPanel = new JPanel(new BorderLayout(0, 10));
      controlPanel.setBorder(
          new CompoundBorder(
              BorderFactory.createEmptyBorder(9, 9, 9, 9), new TitledBorder("Detail Hint")));

      JPanel elevationSliderPanel = new JPanel(new BorderLayout(0, 5));
      {
        int MIN = -10;
        int MAX = 10;
        int cur = 0;
        JSlider slider = new JSlider(MIN, MAX, cur);
        slider.setMajorTickSpacing(10);
        slider.setMinorTickSpacing(1);
        slider.setPaintTicks(true);
        Hashtable<Integer, JLabel> labelTable = new Hashtable<Integer, JLabel>();
        labelTable.put(-10, new JLabel("-1.0"));
        labelTable.put(0, new JLabel("0.0"));
        labelTable.put(10, new JLabel("1.0"));
        slider.setLabelTable(labelTable);
        slider.setPaintLabels(true);
        slider.addChangeListener(
            new ChangeListener() {
              public void stateChanged(ChangeEvent e) {
                double hint = ((JSlider) e.getSource()).getValue() / 10d;
                setWedgeDetailHint(hint);
                getWwd().redraw();
              }
            });
        elevationSliderPanel.add(slider, BorderLayout.SOUTH);
      }

      JPanel sliderPanel = new JPanel(new GridLayout(2, 0));
      sliderPanel.add(elevationSliderPanel);

      controlPanel.add(sliderPanel, BorderLayout.SOUTH);
      return controlPanel;
    }
  public ControlPanel(int width, int height) {
    this.width = width;
    this.height = height;

    // create 2 ball panels
    ballPanel = new JPanel();
    ballPanel.setLayout(new GridLayout(2, 1));
    ball1 = new BallPanel(0, 65, Color.RED, Color.CYAN);
    ball2 = new BallPanel(0, 65, Color.BLUE, Color.YELLOW);
    ballPanel.add(ball1);
    ballPanel.add(ball2);

    // create 10 buttons
    upRed = new JButton("Up Red");
    downRed = new JButton("Down Red");
    leftRed = new JButton("Left Red");
    rightRed = new JButton("Right Red");
    stopRed = new JButton("Stop Red");
    upBlue = new JButton("Up Blue");
    downBlue = new JButton("Down Blue");
    leftBlue = new JButton("Left Blue");
    rightBlue = new JButton("Right Blue");
    stopBlue = new JButton("Stop Blue");

    // create 2 sliders
    slider1 = new JSlider(JSlider.VERTICAL, 0, 50, 20);
    slider1.setMajorTickSpacing(10);
    slider1.setMinorTickSpacing(1);
    slider1.setPaintTicks(true);
    slider1.setPaintLabels(true);

    slider2 = new JSlider(JSlider.VERTICAL, 0, 50, 20);
    slider2.setMajorTickSpacing(10);
    slider2.setMinorTickSpacing(1);
    slider2.setPaintTicks(true);
    slider2.setPaintLabels(true);

    // add the corresponding listener to sliders and buttons
    ActionListener bListener = new ButtonListener();
    SliderListener sListener = new SliderListener();
    upRed.addActionListener(bListener);
    downRed.addActionListener(bListener);
    leftRed.addActionListener(bListener);
    rightRed.addActionListener(bListener);
    stopRed.addActionListener(bListener);
    upBlue.addActionListener(bListener);
    downBlue.addActionListener(bListener);
    leftBlue.addActionListener(bListener);
    rightBlue.addActionListener(bListener);
    stopBlue.addActionListener(bListener);
    slider1.addChangeListener(sListener);
    slider2.addChangeListener(sListener);

    // organize 5 buttons into a panel using grid layout
    buttonPanel1 = new JPanel();
    buttonPanel1.setLayout(new GridLayout(5, 1));
    buttonPanel1.add(upRed);
    buttonPanel1.add(downRed);
    buttonPanel1.add(leftRed);
    buttonPanel1.add(rightRed);
    buttonPanel1.add(stopRed);

    // organize 5 buttons into a panel using grid layout
    buttonPanel2 = new JPanel();
    buttonPanel2.setLayout(new GridLayout(5, 1));
    buttonPanel2.add(upBlue);
    buttonPanel2.add(downBlue);
    buttonPanel2.add(leftBlue);
    buttonPanel2.add(rightBlue);
    buttonPanel2.add(stopBlue);

    // create 2 labels
    label1 = new JLabel("Red Ball Delay");
    label2 = new JLabel("Blue Ball Delay");

    // organize a label and a slider into a panel using border layout
    sliderPanel1 = new JPanel();
    sliderPanel1.setLayout(new BorderLayout());
    sliderPanel1.add(label1, BorderLayout.NORTH);
    sliderPanel1.add(slider1, BorderLayout.CENTER);
    sliderPanel2 = new JPanel();
    sliderPanel2.setLayout(new BorderLayout());
    sliderPanel2.add(label2, BorderLayout.NORTH);
    sliderPanel2.add(slider2, BorderLayout.CENTER);

    // organize the panel containing buttons and the panel with a slider
    settingsPanel = new JPanel();
    settingsPanel.setLayout(new GridLayout(2, 2));
    settingsPanel.add(buttonPanel1);
    settingsPanel.add(sliderPanel1);
    settingsPanel.add(buttonPanel2);
    settingsPanel.add(sliderPanel2);

    // organize a label and a slider into a panel using border layout
    setLayout(new BorderLayout());
    add(settingsPanel, BorderLayout.WEST);
    add(ballPanel, BorderLayout.CENTER);
  }
예제 #5
0
  /** Construct the TV object - that is, the main GUI for the program */
  public TV(JFrame f, TD mod) {
    super();
    frm = f;
    theTD = mod;
    JButton b;

    // Build the GUI

    toolBar = new JToolBar();
    toolBar.setFloatable(false);
    toolBar.getAccessibleContext().setAccessibleName("File Toolbar");
    toolBar.addSeparator();
    b = addTool(toolBar, "Cut");
    b = addTool(toolBar, "Copy");
    b = addTool(toolBar, "Paste");
    toolBar.addSeparator();
    toolBar.putClientProperty("JToolBar.isRollover", Boolean.FALSE);

    // The Slider
    numSlider = new JSlider(JSlider.HORIZONTAL, 1, 40, 1);
    numSlider.setPaintTicks(true);
    numSlider.setPaintLabels(false);
    numSlider.setMajorTickSpacing(10);
    numSlider.setMinorTickSpacing(2);
    numSlider.setExtent(1);
    numSlider.addChangeListener(
        new ChangeListener() {
          public void stateChanged(ChangeEvent ce) {
            // System.out.println("CHANGE: " + ce);
            setQNumber(((JSlider) (ce.getSource())).getValue());
          }
        });
    numSlider.setToolTipText("Slide to select question by number");
    toolBar.add(numSlider);

    // The Question# textfield
    toolBar.add(numTF = new JTextField("01"));
    numTF.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            String num = ((JTextField) e.getSource()).getText();
            int n = Integer.parseInt(num.trim());
            setQNumber(n);
          }
        });
    numTF.setToolTipText("Type number to select question by number");

    // The First Button
    b = addTool(toolBar, "First");
    b.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            setQNumber(1);
          }
        });

    // The Previous Button
    b = addTool(toolBar, "Previous");
    b.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            if (getQNumber() <= 1) return;
            setQNumber(getQNumber() - 1);
          }
        });

    // The Next Button
    b = addTool(toolBar, "Next");
    b.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            if (getQNumber() >= getNumQuestions()) return;
            setQNumber(getQNumber() + 1);
          }
        });

    // The "Last" Button
    b = addTool(toolBar, "Last");
    b.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            setQNumber(getNumQuestions());
          }
        });

    add(BorderLayout.NORTH, toolBar);

    // Rest is a panel to hold the questions, one at a time.
    questionsPanel = new JPanel();
    questionsPanel.setLayout(myCardLayout = new CardLayout());

    add(BorderLayout.SOUTH, questionsPanel);

    fc = new FileDialog(frm);
    fc.setFilenameFilter(
        new FilenameFilter() {
          public boolean accept(File ff, String fname) {
            // System.out.println("accept("+fname+")");
            // XXX TODO list of extentions, from properties.
            return fname.endsWith(".xam");
          }
        });
    TV.centre(fc);
  }
예제 #6
0
  public Display(String title) throws IOException {

    super(title);
    setLayout(new GridLayout(1, 3));
    JPanel options = new JPanel(new GridLayout(5, 1));
    JPanel numCircles = new JPanel((new GridLayout(1, 2)));
    addWindowListener(this);
    b = new Button("Load Image");
    c = new Button("filter");
    findCircles = new Button("Find");

    inputCircles = new JTextField("12");
    numCircles.add(inputCircles);
    numCircles.add(findCircles);
    options.add(b);
    options.add(c);
    add(options);

    filterBtn = new JRadioButton("Filtered");
    sobelBtn = new JRadioButton("Sobel");
    nonMaxBtn = new JRadioButton("Non Maximal");
    accumulator = new JRadioButton("Accumulator");
    whichRadius = new JSlider(JSlider.HORIZONTAL, rmin, 125, 14);

    whichRadius.setMajorTickSpacing(10);
    whichRadius.setMinorTickSpacing(1);
    whichRadius.setPaintTicks(true);
    whichRadius.setPaintLabels(true);
    whichRadius.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0));
    Font font = new Font("Serif", Font.ITALIC, 6);
    whichRadius.setFont(font);

    ButtonGroup rGroup = new ButtonGroup();
    rGroup.add(filterBtn);
    rGroup.add(sobelBtn);
    rGroup.add(nonMaxBtn);
    rGroup.add(accumulator);

    JPanel radioPanel = new JPanel(new GridLayout(0, 1));
    radioPanel.add(filterBtn);
    radioPanel.add(sobelBtn);
    radioPanel.add(nonMaxBtn);
    radioPanel.add(accumulator);

    options.add(radioPanel);
    options.add(numCircles);
    options.add(whichRadius);
    loadImage();
    add(lbl1);
    add(lbl2);
    b.addActionListener(this);
    c.addActionListener(this);

    filterBtn.addActionListener(this);
    sobelBtn.addActionListener(this);
    nonMaxBtn.addActionListener(this);
    findCircles.addActionListener(this);
    accumulator.addActionListener(this);

    whichRadius.addChangeListener(this);
  }
  protected void buildChooser() {

    String redString = UIManager.getString("ColorChooser.rgbRedText");
    String greenString = UIManager.getString("ColorChooser.rgbGreenText");
    String blueString = UIManager.getString("ColorChooser.rgbBlueText");

    setLayout(new BorderLayout());
    Color color = getColorFromModel();

    JPanel enclosure = new JPanel();
    enclosure.setLayout(new SmartGridLayout(3, 3));
    enclosure.setInheritsPopupMenu(true);

    // The panel that holds the sliders

    add(enclosure, BorderLayout.CENTER);
    //        sliderPanel.setBorder(new LineBorder(Color.black));

    // The row for the red value
    JLabel l = new JLabel(redString);
    l.setDisplayedMnemonic(AbstractColorChooserPanel.getInt("ColorChooser.rgbRedMnemonic", -1));
    enclosure.add(l);
    redSlider = new JSlider(JSlider.HORIZONTAL, 0, 255, color.getRed());
    redSlider.setMajorTickSpacing(85);
    redSlider.setMinorTickSpacing(17);
    redSlider.setPaintTicks(true);
    redSlider.setPaintLabels(true);
    redSlider.setInheritsPopupMenu(true);
    enclosure.add(redSlider);
    redField = new JSpinner(new SpinnerNumberModel(color.getRed(), minValue, maxValue, 1));
    l.setLabelFor(redSlider);
    redField.setInheritsPopupMenu(true);
    JPanel redFieldHolder = new JPanel(new CenterLayout());
    redFieldHolder.setInheritsPopupMenu(true);
    redField.addChangeListener(this);
    redFieldHolder.add(redField);
    enclosure.add(redFieldHolder);

    // The row for the green value
    l = new JLabel(greenString);
    l.setDisplayedMnemonic(AbstractColorChooserPanel.getInt("ColorChooser.rgbGreenMnemonic", -1));
    enclosure.add(l);
    greenSlider = new JSlider(JSlider.HORIZONTAL, 0, 255, color.getGreen());
    greenSlider.setMajorTickSpacing(85);
    greenSlider.setMinorTickSpacing(17);
    greenSlider.setPaintTicks(true);
    greenSlider.setPaintLabels(true);
    greenSlider.setInheritsPopupMenu(true);
    enclosure.add(greenSlider);
    greenField = new JSpinner(new SpinnerNumberModel(color.getGreen(), minValue, maxValue, 1));
    l.setLabelFor(greenSlider);
    greenField.setInheritsPopupMenu(true);
    JPanel greenFieldHolder = new JPanel(new CenterLayout());
    greenFieldHolder.add(greenField);
    greenFieldHolder.setInheritsPopupMenu(true);
    greenField.addChangeListener(this);
    enclosure.add(greenFieldHolder);

    // The slider for the blue value
    l = new JLabel(blueString);
    l.setDisplayedMnemonic(AbstractColorChooserPanel.getInt("ColorChooser.rgbBlueMnemonic", -1));
    enclosure.add(l);
    blueSlider = new JSlider(JSlider.HORIZONTAL, 0, 255, color.getBlue());
    blueSlider.setMajorTickSpacing(85);
    blueSlider.setMinorTickSpacing(17);
    blueSlider.setPaintTicks(true);
    blueSlider.setPaintLabels(true);
    blueSlider.setInheritsPopupMenu(true);
    enclosure.add(blueSlider);
    blueField = new JSpinner(new SpinnerNumberModel(color.getBlue(), minValue, maxValue, 1));
    l.setLabelFor(blueSlider);
    blueField.setInheritsPopupMenu(true);
    JPanel blueFieldHolder = new JPanel(new CenterLayout());
    blueFieldHolder.add(blueField);
    blueField.addChangeListener(this);
    blueFieldHolder.setInheritsPopupMenu(true);
    enclosure.add(blueFieldHolder);

    redSlider.addChangeListener(this);
    greenSlider.addChangeListener(this);
    blueSlider.addChangeListener(this);

    redSlider.putClientProperty("JSlider.isFilled", Boolean.TRUE);
    greenSlider.putClientProperty("JSlider.isFilled", Boolean.TRUE);
    blueSlider.putClientProperty("JSlider.isFilled", Boolean.TRUE);
  }
예제 #8
0
  public SliderTestFrame() {
    setTitle("SliderTest");
    setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

    sliderPanel = new JPanel();
    sliderPanel.setLayout(new FlowLayout(FlowLayout.LEFT));

    // common listener for all sliders
    listener =
        new ChangeListener() {
          public void stateChanged(ChangeEvent event) {
            // update text field when the slider value changes
            JSlider source = (JSlider) event.getSource();
            textField.setText("" + source.getValue());
          }
        };

    // add a plain slider

    JSlider slider = new JSlider();
    addSlider(slider, "Plain");

    // add a slider with major and minor ticks

    slider = new JSlider();
    slider.setPaintTicks(true);
    slider.setMajorTickSpacing(20);
    slider.setMinorTickSpacing(5);
    addSlider(slider, "Ticks");

    // add a slider that snaps to ticks

    slider = new JSlider();
    slider.setPaintTicks(true);
    slider.setSnapToTicks(true);
    slider.setMajorTickSpacing(20);
    slider.setMinorTickSpacing(5);
    addSlider(slider, "Snap to ticks");

    // add a slider with no track

    slider = new JSlider();
    slider.setPaintTicks(true);
    slider.setMajorTickSpacing(20);
    slider.setMinorTickSpacing(5);
    slider.setPaintTrack(false);
    addSlider(slider, "No track");

    // add an inverted slider

    slider = new JSlider();
    slider.setPaintTicks(true);
    slider.setMajorTickSpacing(20);
    slider.setMinorTickSpacing(5);
    slider.setInverted(true);
    addSlider(slider, "Inverted");

    // add a slider with numeric labels

    slider = new JSlider();
    slider.setPaintTicks(true);
    slider.setPaintLabels(true);
    slider.setMajorTickSpacing(20);
    slider.setMinorTickSpacing(5);
    addSlider(slider, "Labels");

    // add a slider with alphabetic labels

    slider = new JSlider();
    slider.setPaintLabels(true);
    slider.setPaintTicks(true);
    slider.setMajorTickSpacing(20);
    slider.setMinorTickSpacing(5);

    Dictionary<Integer, Component> labelTable = new Hashtable<Integer, Component>();
    labelTable.put(0, new JLabel("A"));
    labelTable.put(20, new JLabel("B"));
    labelTable.put(40, new JLabel("C"));
    labelTable.put(60, new JLabel("D"));
    labelTable.put(80, new JLabel("E"));
    labelTable.put(100, new JLabel("F"));

    slider.setLabelTable(labelTable);
    addSlider(slider, "Custom labels");

    // add a slider with icon labels

    slider = new JSlider();
    slider.setPaintTicks(true);
    slider.setPaintLabels(true);
    slider.setSnapToTicks(true);
    slider.setMajorTickSpacing(20);
    slider.setMinorTickSpacing(20);

    labelTable = new Hashtable<Integer, Component>();

    // add card images

    labelTable.put(0, new JLabel(new ImageIcon("nine.gif")));
    labelTable.put(20, new JLabel(new ImageIcon("ten.gif")));
    labelTable.put(40, new JLabel(new ImageIcon("jack.gif")));
    labelTable.put(60, new JLabel(new ImageIcon("queen.gif")));
    labelTable.put(80, new JLabel(new ImageIcon("king.gif")));
    labelTable.put(100, new JLabel(new ImageIcon("ace.gif")));

    slider.setLabelTable(labelTable);
    addSlider(slider, "Icon labels");

    // add the text field that displays the slider value

    textField = new JTextField();
    add(sliderPanel, BorderLayout.CENTER);
    add(textField, BorderLayout.SOUTH);
  }
 /**
  * Initializes the dialog by displaying all labels and sliders, setting title, creating buttons
  * and assigning an ActionListener. To arrange the elements of the dialog box, a GridLayout is
  * used.
  */
 private void initWebCrawlingDialog() {
   this.setTitle("Meta-Data-Related Web Crawling - Configuration");
   // assign text to buttons, set name and assign action listener
   btnStartWebCrawl.setMnemonic(KeyEvent.VK_S);
   // set "Crawl"-button as default
   this.getRootPane().setDefaultButton(btnStartWebCrawl);
   btnStartWebCrawl.setText("Start Crawling");
   btnStartWebCrawl.addActionListener(this);
   btnCancel.setText("Cancel");
   btnCancel.setMnemonic(KeyEvent.VK_C);
   btnCancel.addActionListener(this);
   // set default values for text fields
   tfSearchEngineURL.setText("http://www.google.com");
   tfAdditionalKeywords.setText("+music+review");
   tfPathExternalCrawler.setText("wget");
   // create and initialize sliders
   sliderNumberOfRetries.setMinorTickSpacing(1);
   sliderIntervalBetweenRetries.setMinorTickSpacing(1);
   // initialize labels for slider values
   currentNumberOfRetries =
       new JLabel(Integer.toString(sliderNumberOfRetries.getValue()), JLabel.CENTER);
   currentIntervalBetweenRetries =
       new JLabel(Integer.toString(sliderIntervalBetweenRetries.getValue()), JLabel.CENTER);
   // initialize button group for placement of additional keywords in search string
   panelAdditionalKeywordsPlacement.add(rbBeforeSearchString);
   panelAdditionalKeywordsPlacement.add(rbAfterSearchString);
   bgAdditionalKeywordsPlacement.add(rbBeforeSearchString);
   bgAdditionalKeywordsPlacement.add(rbAfterSearchString);
   rbBeforeSearchString.setMnemonic(KeyEvent.VK_B);
   rbAfterSearchString.setMnemonic(KeyEvent.VK_A);
   // assign change listeners
   sliderNumberOfRetries.addChangeListener(this);
   sliderIntervalBetweenRetries.addChangeListener(this);
   // init grid layout
   gridLayout.setRows(10);
   gridLayout.setVgap(0);
   // assign layout
   panel.setLayout(gridLayout);
   panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
   // add UI-elements
   getContentPane().add(panel);
   panel.add(new JLabel("URL of Search Engine"));
   panel.add(tfSearchEngineURL);
   panel.add(new JLabel());
   panel.add(new JLabel("Number of Retries"));
   panel.add(sliderNumberOfRetries);
   panel.add(currentNumberOfRetries);
   panel.add(new JLabel("Interval between Retries (sec)"));
   panel.add(sliderIntervalBetweenRetries);
   panel.add(currentIntervalBetweenRetries);
   panel.add(new JLabel("Additional Keywords"));
   panel.add(tfAdditionalKeywords);
   panel.add(panelAdditionalKeywordsPlacement);
   panel.add(new JLabel("Maximum Number of Retrieved Pages per Query"));
   panel.add(jsNumberOfPages);
   panel.add(new JLabel());
   panel.add(new JLabel("Storage Path for Retrieved Pages"));
   panel.add(tfPathStoreRetrievedPages);
   panel.add(new JLabel());
   panel.add(new JLabel("Command for External Crawler"));
   panel.add(tfPathExternalCrawler);
   panel.add(new JLabel());
   panel.add(new JLabel());
   panel.add(cbStoreURLList);
   panel.add(new JLabel());
   panel.add(new JLabel());
   panel.add(new JLabel());
   panel.add(new JLabel());
   panel.add(btnStartWebCrawl);
   panel.add(new JLabel());
   panel.add(btnCancel);
   // set default look and feel
   this.setUndecorated(true);
   this.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
   this.setResizable(false);
 }