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

📄 subpatternpanel.java

📁 著名的神经网络工具箱
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*************************************************************************

This program is copyrighted. Please refer to COPYRIGHT.txt for the
copyright notice.

This file is part of JavaNNS.

JavaNNS 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.

JavaNNS is distributed in the hope that it will be useful,
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 JavaNNS; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

*************************************************************************/


/**
 * Title:        SubPatternPanel<p>
 * Description:  Panel for subpattern navigation and control<p>
 * Copyright:    Copyright (c) 2001<p>
 * Company:      WSI<p>
 * @author Igor Fischer
 * @version
 */
package javanns;


import javax.swing.* ;
import java.awt.* ;
import java.awt.event.* ;

public class SubPatternPanel
             extends JPanel
             implements ActionListener, NetworkListener {

  public static final int SET_TRAINING = 1;
  public static final int SET_SHOW     = 2;
  public static final int SET_TRAINING_SHOW = SET_TRAINING | SET_SHOW;
  Snns snns;
  MasterControl master;
  Network network;
  KernelInterface.KernelPatternInfo kpi;
  JCheckBox cbShuffle;
  DimensionPanel dp1, dp2;

  class DimensionPanel extends JPanel {
    FlatButton bFirst, bPrev, bNext, bLast;
    JLabel lSize =            new JLabel("Size", JLabel.CENTER);
    JLabel lStep =            new JLabel("Step", JLabel.CENTER);
    JLabel lPosition =        new JLabel("Position", JLabel.CENTER);
    JLabel lTotal =           new JLabel("Total", JLabel.CENTER);
    JLabel lInput =           new JLabel("Input: ", JLabel.LEFT);
    JLabel lOutput =          new JLabel("Output: ", JLabel.LEFT);
    JTextField tSizeIn =      new JTextField("1", 4);
    JTextField tSizeOut =     new JTextField("1", 4);
    JTextField tStepIn =      new JTextField("1", 4);
    JTextField tStepOut =     new JTextField("1", 4);
    JTextField tPositionIn =  new JTextField("1", 4);
    JTextField tPositionOut = new JTextField("1", 4);
    JTextField tTotalIn =     new JTextField("1", 4);
    JTextField tTotalOut =    new JTextField("1", 4);

    public DimensionPanel(int dimension) {
      setBorder(
        BorderFactory.createTitledBorder(
          BorderFactory.createEtchedBorder(), "Dimension " + dimension
        )
      );
      Color bgd = getBackground();
      tSizeIn.setHorizontalAlignment(JTextField.RIGHT);
      tSizeOut.setHorizontalAlignment(JTextField.RIGHT);
      tStepIn.setHorizontalAlignment(JTextField.RIGHT);
      tStepOut.setHorizontalAlignment(JTextField.RIGHT);
      tPositionIn.setEditable(false);
      tPositionIn.setBackground(bgd);
      tPositionIn.setHorizontalAlignment(JTextField.CENTER);
      tPositionOut.setEditable(false);
      tPositionOut.setBackground(bgd);
      tPositionOut.setHorizontalAlignment(JTextField.CENTER);
      tTotalIn.setEditable(false);
      tTotalIn.setBackground(bgd);
      tTotalIn.setHorizontalAlignment(JTextField.CENTER);
      tTotalOut.setEditable(false);
      tTotalOut.setBackground(bgd);
      tTotalOut.setHorizontalAlignment(JTextField.CENTER);

      bFirst = new FlatButton(snns.icons.getIcon("leftEndArrow.gif", "First"));
      bFirst.setToolTipText("Show first subpattern of the current pattern");
      bPrev  = new FlatButton(snns.icons.getIcon("leftArrow.gif", "Previous"));
      bPrev.setToolTipText("Show previous subpattern of the current pattern");
      bNext  = new FlatButton(snns.icons.getIcon("rightArrow.gif", "Next"));
      bNext.setToolTipText("Show next subpattern of the current pattern");
      bLast  = new FlatButton(snns.icons.getIcon("rightEndArrow.gif", "Last"));
      bLast.setToolTipText("Show last subpattern of the current pattern");

      GridBagLayout gbl = new GridBagLayout();
      GridBagConstraints gbc = new GridBagConstraints();
      setLayout(gbl);

      Insets ins = new Insets(3, 3, 2, 2);
      Insets bIns = new Insets(0, 0, 0, 0);
      gbc.fill = gbc.HORIZONTAL;
      gbc.insets = ins;
      gbc.gridy = 0;
      gbc.gridx = 1;

      // Title line:
      gbl.setConstraints(lSize, gbc);
      add(lSize);
      gbc.gridx++;
      gbl.setConstraints(lStep, gbc);
      add(lStep);
      gbc.gridx+=3;
      gbl.setConstraints(lPosition, gbc);
      add(lPosition);
      gbc.gridx+=3;
      gbl.setConstraints(lTotal, gbc);
      add(lTotal);
      gbc.gridx = 0;
      gbc.gridy++;

      // Input line:
      gbl.setConstraints(lInput, gbc);
      add(lInput);
      gbc.gridx++;
      gbl.setConstraints(tSizeIn, gbc);
      add(tSizeIn);
      gbc.gridx++;
      gbl.setConstraints(tStepIn, gbc);
      add(tStepIn);
      gbc.gridx++;

      gbc.gridheight = 2;
      gbc.insets = new Insets(0, 15, 0, 0);
      gbl.setConstraints(bFirst, gbc);
      add(bFirst);
      gbc.gridx++;
      gbc.insets = bIns;
      gbl.setConstraints(bPrev, gbc);
      add(bPrev);
      gbc.gridx++;
      gbc.gridheight = 1;
      gbc.insets = ins;

      gbl.setConstraints(tPositionIn, gbc);
      add(tPositionIn);
      gbc.gridx++;

      gbc.gridheight = 2;
      gbc.insets = bIns;
      gbl.setConstraints(bNext, gbc);
      add(bNext);
      gbc.gridx++;
      gbc.insets = new Insets(0, 0, 0, 15);
      gbl.setConstraints(bLast, gbc);
      add(bLast);
      gbc.gridx++;
      gbc.gridheight = 1;
      gbc.insets = ins;

      gbl.setConstraints(tTotalIn, gbc);
      add(tTotalIn);
      gbc.gridx = 0;

      // Output line:
      gbc.gridy++;
      gbl.setConstraints(lOutput, gbc);
      add(lOutput);
      gbc.gridx++;
      gbl.setConstraints(tSizeOut, gbc);
      add(tSizeOut);
      gbc.gridx++;
      gbl.setConstraints(tStepOut, gbc);
      add(tStepOut);
      gbc.gridx += 3;
      gbl.setConstraints(tPositionOut, gbc);
      add(tPositionOut);
      gbc.gridx += 3;
      gbl.setConstraints(tTotalOut, gbc);
      add(tTotalOut);
    }


    /**
     * Shows or hides input or output fields according to
     * passed parameters.
     *
     * @param in  flag controling the visibility of the input fields
     * @param out flag controling the visibility of the output fields
     */
    public void updateVisibility(boolean in, boolean out) {
      lInput.setVisible(in);
      lOutput.setVisible(out);
      tSizeIn.setVisible(in);
      tSizeOut.setVisible(out);
      tStepIn.setVisible(in);
      tStepOut.setVisible(out);
      tPositionIn.setVisible(in);
      tPositionOut.setVisible(out);
      tTotalIn.setVisible(in);
      tTotalOut.setVisible(out);
    }
  }


  /**
   * Constructs a panel for navigating and controlling subpatterns.
   *
   * @param master master control panel embedding this panel
   */
  public SubPatternPanel(MasterControl master) {
    this.master = master;
    snns = master.snns;
    network = master.network;
    network.addListener( this );
    kpi = network.getPatInfo();

    GridBagLayout gbl = new GridBagLayout();
    GridBagConstraints gbc = new GridBagConstraints();

⌨️ 快捷键说明

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