亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mainpanel.java

?? Kohonen網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程可描述為:對(duì)于每一個(gè)網(wǎng)絡(luò)的輸入
?? JAVA
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
package fi.javasom.gui;
/**
 * Main panel for the Clusoe GUI.
 *
 *  Copyright (C) 2001  Tomi Suuronen
 *
 *  @version 1.0
 *
 *  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
*/

import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.util.Vector;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.filechooser.*;
import fi.javasom.jsom.*;

//import java.io.System;

public class MainPanel extends JPanel implements ChangeListener
{
	private ExecutePanel execute;
	private SettingsPanel settings;
	private JFrame parent;
	private PdfSettingsDialog pdfSettingsDialog;
	private Dimension screenSize;
	private JTabbedPane tabs;
	private boolean instructionSettings; //for checking if instructions values are accepted.
	private String row; //for instruction information gathering
	private String area; //for notifying information gathering steps

	/* Tab elements */
	private JTextArea textArea;
	private JTextField inputTF;
	private JTextField outputTF;
	private JTextField outputNameTF;
	private JCheckBox xmlCB;
	private JCheckBox svgCB;
	private JCheckBox pdfCB;
	private JFileChooser openFile;
	private JFileChooser saveFolder;
	private ButtonGroup latticeBG;
	private JRadioButton hexaRB;
	private JRadioButton rectRB;
	private ButtonGroup neighborBG;
	private JRadioButton stepRB;
	private JRadioButton gaussianRB;
	private JCheckBox normCB;
	private JTextField xDimTF;
	private JTextField yDimTF;
	private JTextField stepsTF;
	private JTextField lrateTF;
	private JTextField radiusTF;
	private JLabel totalL;
	private JLabel currentL;
	private ButtonGroup lrateTypeBG;
	private JRadioButton exponentialRB;
	private JRadioButton linearRB;
	private JRadioButton inverseRB;

	/* ordering elements*/
	private Vector steps;
	private Vector lrate;
	private Vector radius;
	private Vector lRateType;
	private int currentCounter;
	private int totalCounter;

	/* pdf paper settings */
	private JComboBox paperCB;
	private ButtonGroup pdfBG;
	private JRadioButton portraitRB;
	private JRadioButton landscapeRB;
	private JLabel textL;

	/*
	 * Main constructor.
	*/
	public MainPanel(JFrame parent,Dimension screenSize)
	{
		this.parent = parent;
		this.screenSize = screenSize;
		setLayout(new BorderLayout());
		tabs = new JTabbedPane();
		execute = new ExecutePanel();
		settings = new SettingsPanel();

		tabs.addTab("Settings",settings);
		tabs.addTab("Execute",execute);
		add(tabs,"Center");

		/* pdf paper settings */
		paperCB = new JComboBox();
		paperCB.setEditable(false);
		paperCB.addItem("A4");
		paperCB.addItem("Letter");

		portraitRB = new JRadioButton("Portrait",true);
		landscapeRB = new JRadioButton("Landscape",false);

		/* Focus listeners */
		tabs.addChangeListener(this);
	}

	/*
	 * activates the PDF settings dialog.
	*/
	public void activatePdfSettings()
	{
		if(pdfSettingsDialog == null)
		{
			pdfSettingsDialog = new PdfSettingsDialog(parent,screenSize);
		}
		pdfSettingsDialog.show();
	}

	/*
	 * Resets all the fields in the GUI.
	*/
	public void clearAllFields()
	{
		inputTF.setText("");
		xDimTF.setText("");
		yDimTF.setText("");
		stepsTF.setText("");
		lrateTF.setText("");
		radiusTF.setText("");
		outputTF.setText("");
		normCB.setSelected(true);
		hexaRB.setSelected(true);
		stepRB.setSelected(true);
		exponentialRB.setSelected(true);
		xmlCB.setSelected(false);
		svgCB.setSelected(false);
		pdfCB.setSelected(false);
		steps.removeAllElements();
		lrate.removeAllElements();
		radius.removeAllElements();
		lRateType.removeAllElements();
		steps.addElement("");
		lrate.addElement("");
		radius.addElement("");
		lRateType.addElement("exponential");
		totalL.setText("1");
		currentL.setText("1");
		currentCounter = 1;
		totalCounter = 1;
		if(openFile !=null)
		{
			openFile.setSelectedFile(null);
		}
		if(saveFolder !=null)
		{
			saveFolder.setSelectedFile(null);
		}
		if(pdfSettingsDialog !=null)
		{
			textL.setText("(297mm x 210mm)");
			portraitRB.setSelected(true);
			paperCB.setSelectedIndex(0);
		}
		outputNameTF.setText("");
		textArea.setText("");
	}

	/**
	 * Selected Tab has changed.
	*/
	public void stateChanged(ChangeEvent ce)
	{
		if(execute==tabs.getSelectedComponent())
		{
			/* Clears the field */
			textArea.setText("");
			area = "";
			row = "";
			String cache = "";
			instructionSettings = false;

			/* saves the current training view */
			String button = "";
			steps.setElementAt(stepsTF.getText(),currentCounter-1);
			lrate.setElementAt(lrateTF.getText(),currentCounter-1);
			radius.setElementAt(radiusTF.getText(),currentCounter-1);
			if(exponentialRB.isSelected())
			{
				button = "exponential";
			}
			else if(linearRB.isSelected())
			{
				button = "linear";
			}
			else //inverse
			{
			 	button = "inverse";
			}
			lRateType.setElementAt(button,currentCounter-1);

			/* some variables*/
			int number;
			float number2;

			/* Starts checking and construction of the instructions string and runs the JSOM*/
			run_it:
			do
			{
				row += "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
				row += "<!DOCTYPE instructions SYSTEM \"instructions.dtd\">";
				row += "<instructions>";
				if(openFile == null || openFile.getSelectedFile()==null)
				{
					textArea.setText("No input file selected. Construction not possible!");
					break;
				}
				else
				{
					area += "Input data file: "+openFile.getSelectedFile().getAbsolutePath()+" \n";
					textArea.setText(area);
				}
				row += "<input><file>"+openFile.getSelectedFile().getAbsolutePath()+"</file></input>";
				row += "<initialization>";
				row += "<normalization used=\""+normCB.isSelected()+"\" />";
				if(normCB.isSelected())
				{
					area += "Normalization: yes \n";
					textArea.setText(area);
				}
				else
				{
					area += "Normalization: no \n";
					textArea.setText(area);
				}
				try
				{
					number = Integer.valueOf(xDimTF.getText().trim()).intValue();
					row += "<x.dimension>"+number+"</x.dimension>";
					area += "X-dimension: "+number+" nodes \n";
					textArea.setText(area);
				}
				catch(Exception e1)
				{
					area += "X-dimension value is not a number. Construction not possible!";
					textArea.setText(area);
					break;
				}
				try
				{
					number = Integer.valueOf(yDimTF.getText().trim()).intValue();
					row += "<y.dimension>"+number+"</y.dimension>";
					area += "Y-dimension: "+number+" nodes \n";
					textArea.setText(area);
				}
				catch(Exception e2)
				{
					area += "Y-dimension value is not a number. Construction not possible!";
					textArea.setText(area);
					break;
				}
				if(hexaRB.isSelected())
				{
					row += "<lattice type=\"hexagonal\" />";
					area += "Lattice: Hexagonal \n";
					textArea.setText(area);
				}
				else //rectangular
				{
					row += "<lattice type=\"rectangular\" />";
					area += "Lattice: Rectangular \n";
					textArea.setText(area);
				}
				if(stepRB.isSelected())
				{
					row += "<neighbourhood type=\"step\" />";
					area += "Neighbourhood: Step (bubble) \n";
					textArea.setText(area);
				}
				else //gaussian
				{
					row += "<neighbourhood type=\"gaussian\" />";
					area += "Neighbourhood: Gaussian \n";
					textArea.setText(area);
				}
				row += "</initialization>";

				//training
				for(int j=0;j<totalCounter;j++)
				{
					row += "<training>";
					area += "Training set: "+(j+1)+" \n";
					textArea.setText(area);

					//steps
					try
					{
						number = Integer.valueOf(steps.elementAt(j).toString().trim()).intValue();
						row += "<steps>"+number+"</steps>";
						area += "   Steps: "+number+" \n";
						textArea.setText(area);
					}
					catch(Exception e3)
					{
						area += "   Steps value is not a number. Construction not possible!";
						textArea.setText(area);
						break run_it;
					}

					//learning-rate
					try
					{
						number2 = Float.valueOf(lrate.elementAt(j).toString().trim()).floatValue();
						row += "<lrate type=\""+lRateType.elementAt(j).toString().trim()+"\">"+number2+"</lrate>";
						area += "   Learning-rate: "+number2+" \n";
						if(lRateType.elementAt(j).toString().trim().equals("exponential"))
						{
							area += "   Learning-rate type: Exponential \n";
						}
						else if(lRateType.elementAt(j).toString().trim().equals("linear"))
						{
							area += "   Learning-rate type: Linear \n";
						}
						else
						{
							area += "   Learning-rate type: Inverse-time \n";
						}
						textArea.setText(area);
					}
					catch(Exception e4)
					{
						area += "   Learning-rate value is not a number. Construction not possible!";
						textArea.setText(area);
						break run_it;
					}

					//radius
					try
					{
						number = Integer.valueOf(radius.elementAt(j).toString().trim()).intValue();
						row += "<radius>"+number+"</radius>";
						area += "   Radius: "+number+" \n";
						textArea.setText(area);
					}
					catch(Exception e5)
					{
						area += "   Radius value is not a number. Construction not possible!";
						textArea.setText(area);
						break run_it;
					}

					row += "</training>";
				}

				//paper format
				row += "<output ";
				if(((String)paperCB.getSelectedItem()).equals("A4"))
				{
					if(portraitRB.isSelected())
					{
						row += "paper=\"a4\" orientation=\"portrait\">";
						cache = "(A4 and Portrait)";
					}
					else //landscape
					{
						row += "paper=\"a4\" orientation=\"landscape\">";
						cache = "(A4 and Landscape)";
					}
				}
				else //Letter
				{
					if(portraitRB.isSelected())
					{
						row += "paper=\"letter\" orientation=\"portrait\">";
						cache = "(Letter and Portrait)";
					}
					else //landscape
					{
						row += "paper=\"letter\" orientation=\"landscape\">";
						cache = "(Letter and Landscape)";
					}
				}

				//folder
				if(saveFolder == null || saveFolder.getSelectedFile()==null)
				{
					area += "No output folder selected. Construction not possible!";
					textArea.setText(area);
					break;
				}
				else
				{
					area += "Output folder: "+saveFolder.getSelectedFile().getAbsolutePath() +" \n";
					textArea.setText(area);
				}
				row += "<folder>"+saveFolder.getSelectedFile().getAbsolutePath()+"</folder>";

				//identifier
				if(outputNameTF.getText().trim().equals("") || outputNameTF.getText()==null)
				{
					area += "No identifier set. Construction not possible!";
					textArea.setText(area);
					break;
				}
				else
				{
					row += "<identifier>"+outputNameTF.getText().trim()+"</identifier>";
					area += "Identifier: "+outputNameTF.getText().trim()+" \n";
					textArea.setText(area);
				}

				//type
				if(!xmlCB.isSelected() && !svgCB.isSelected() && !pdfCB.isSelected())
				{
					area += "No output format selected. Construction not possible!";
					textArea.setText(area);
					break;
				}
				else
				{
					if(xmlCB.isSelected())
					{
						row += "<type format=\"xml\" />";
						area += "Output: "+outputNameTF.getText().trim()+".xml \n";
						textArea.setText(area);
					}
					if(svgCB.isSelected())
					{
						row += "<type format=\"svg\" />";
						area += "Output: "+outputNameTF.getText().trim()+".svg \n";
						textArea.setText(area);
					}
					if(pdfCB.isSelected())
					{
						row += "<type format=\"pdf\" />";
						area += "Output: "+outputNameTF.getText().trim()+".pdf "+cache+" \n";
						textArea.setText(area);
					}
				}
				row += "</output>";
				row += "</instructions>";
				area += "\n";
				area += "Instruction values were accepted. Ready to construct a map \n";
				textArea.setText(area);
				instructionSettings = true;
				break;
			}
			while(true);
		}
	}

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

	/*
	 * Settings Panel.
	*/
	private class SettingsPanel extends JPanel implements ActionListener, ItemListener
	{
		private JButton inputBrowse;
		private JButton outputBrowse;
		private JButton prevB;
		private JButton nextB;
		private JButton addB;
		private JButton delB;
		private InputFileFilter filter;

		public SettingsPanel()
		{
			setLayout(new BorderLayout());
			JPanel center = new JPanel();
			center.setLayout(new BorderLayout());
			add(center,"Center");
			Border etched = BorderFactory.createEtchedBorder();
			filter = new InputFileFilter();
			currentCounter = 1;
			totalCounter = 1;
			steps = new Vector(0,1);
			lrate = new Vector(0,1);
			radius = new Vector(0,1);
			lRateType = new Vector(0,1);
			steps.addElement("");
			lrate.addElement("");
			radius.addElement("");

			//input file
			JPanel iPanel = new JPanel();
			iPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
			Border inputTitled = BorderFactory.createTitledBorder(etched,"Input");
			iPanel.setBorder(inputTitled);
			iPanel.add(new JLabel("File: "));
			inputTF = new JTextField(32);
			inputTF.setEditable(false);
			iPanel.add(inputTF);
			inputBrowse = new JButton("Browse");
			iPanel.add(inputBrowse);
			add(iPanel,"North");

			//initialization
			JPanel iniPanel = new JPanel();
			iniPanel.setLayout(new BorderLayout());
			center.add(iniPanel,"North");
			Border iniTitled = BorderFactory.createTitledBorder(etched,"Initialisation");
			iniPanel.setBorder(iniTitled);

			JPanel ini2Panel = new JPanel();
			ini2Panel.setLayout(new BorderLayout());
			iniPanel.add(ini2Panel,"Center");

			JPanel ini3Panel = new JPanel();
			ini3Panel.setLayout(new BorderLayout());
			iniPanel.add(ini3Panel,"South");

			//dimension + normalization
			JPanel dimPanel = new JPanel();
			dimPanel.setLayout(new BorderLayout());
			JPanel normPanel = new JPanel();
			normPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
			normCB = new JCheckBox("Use normalization",true);
			normPanel.add(normCB);
			JPanel xdimPanel = new JPanel();
			xdimPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
			xDimTF = new JTextField(5);
			xdimPanel.add(new JLabel("X-dimension: "));
			xdimPanel.add(xDimTF);
			xdimPanel.add(new JLabel(" (nodes)"));
			JPanel ydimPanel = new JPanel();
			ydimPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
			yDimTF = new JTextField(5);
			ydimPanel.add(new JLabel("Y-dimension: "));
			ydimPanel.add(yDimTF);
			ydimPanel.add(new JLabel(" (nodes)"));
			dimPanel.add(normPanel,"North");
			dimPanel.add(xdimPanel,"Center");
			dimPanel.add(ydimPanel,"South");
			ini3Panel.add(dimPanel,"North");

			//lattice
			JPanel laPanel = new JPanel();
			laPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
			latticeBG = new ButtonGroup();
			laPanel.add(new JLabel("Lattice type: "));
			hexaRB = new JRadioButton("Hexagonal",true);
			rectRB = new JRadioButton("Rectangular",false);
			latticeBG.add(hexaRB);
			latticeBG.add(rectRB);
			laPanel.add(hexaRB);
			laPanel.add(rectRB);
			ini3Panel.add(laPanel,"Center");

			//neighbourhood
			JPanel nePanel = new JPanel();
			nePanel.setLayout(new FlowLayout(FlowLayout.LEFT));
			neighborBG = new ButtonGroup();

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲不卡av一区二区三区| 国产日产欧美一区二区三区| 亚洲妇女屁股眼交7| 91官网在线免费观看| 亚洲天堂精品视频| 91黄视频在线| 日韩精品亚洲一区| 欧美成人一区二区| 国产精品1024| 亚洲日本在线a| 欧美福利一区二区| 美女网站色91| 欧美国产日韩亚洲一区| 91视频一区二区三区| 午夜国产精品一区| 久久久久久综合| 91在线porny国产在线看| 亚洲大片免费看| 久久婷婷色综合| 91美女蜜桃在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 26uuu精品一区二区三区四区在线| 国产69精品久久久久777| 亚洲欧美电影一区二区| 4438x成人网最大色成网站| 国内欧美视频一区二区 | 国产一区二区在线影院| 国产精品美女久久久久久久久久久| 91麻豆蜜桃一区二区三区| 蜜臀a∨国产成人精品| 日本一区二区久久| 制服丝袜成人动漫| 成人一区二区三区视频| 午夜婷婷国产麻豆精品| 日本一区二区三区在线不卡| 欧美日本一区二区三区| 成人免费的视频| 日本最新不卡在线| 一区视频在线播放| wwwwxxxxx欧美| 欧美日韩高清影院| 99免费精品在线| 精品一区二区影视| 亚洲最快最全在线视频| 国产女人18毛片水真多成人如厕| 欧美日韩国产免费一区二区 | 亚洲成人午夜影院| 国产女主播视频一区二区| 在线综合亚洲欧美在线视频| 99免费精品在线| 精品午夜久久福利影院| 亚洲高清一区二区三区| 亚洲色图欧美激情| 国产亚洲一区二区三区四区| 欧美一区二区三区视频免费| 日本久久精品电影| 成人app网站| 国产激情一区二区三区桃花岛亚洲| 日本va欧美va精品| 亚洲第一av色| 亚洲午夜一区二区| 亚洲欧美另类久久久精品2019| 国产清纯美女被跳蛋高潮一区二区久久w | 在线观看亚洲一区| 99视频超级精品| 不卡的av网站| 丰满少妇在线播放bd日韩电影| 麻豆精品一二三| 日韩综合小视频| 午夜av区久久| 日韩一区精品字幕| 日韩av午夜在线观看| 亚洲成人福利片| 亚洲成人午夜电影| 亚洲444eee在线观看| 亚洲一区在线视频观看| 亚洲综合清纯丝袜自拍| 亚洲综合激情网| 午夜欧美大尺度福利影院在线看| 一区二区免费视频| 亚洲一区二区精品3399| 亚洲一区二区3| 视频一区中文字幕国产| 日韩电影网1区2区| 美腿丝袜亚洲色图| 久久99精品久久久久久动态图| 免费看精品久久片| 精品一区二区三区免费视频| 国产在线视频一区二区| 国产成人免费av在线| 99久久综合狠狠综合久久| 91老师片黄在线观看| 欧美天堂一区二区三区| 3d成人动漫网站| 精品国产成人在线影院 | 久久久久久久综合色一本| 国产欧美中文在线| 综合电影一区二区三区| 亚洲国产欧美在线| 久久精品国产秦先生| 国产成人精品一区二区三区四区 | 综合av第一页| 性久久久久久久| 久久成人精品无人区| 成人精品小蝌蚪| 在线观看成人免费视频| 91精品国产高清一区二区三区 | 欧美影院午夜播放| 日韩一区二区三区四区五区六区| 久久精品一级爱片| 亚洲综合免费观看高清完整版 | 不卡的av网站| 欧美精品99久久久**| 久久久蜜桃精品| 一区二区三区精品在线观看| 久久精品国产在热久久| 色综合天天做天天爱| 日韩一区二区在线观看| 成人欧美一区二区三区1314 | 综合分类小说区另类春色亚洲小说欧美| 亚洲精品欧美在线| 久久国产精品第一页| 99国产精品久久久| 欧美电视剧在线观看完整版| 综合久久国产九一剧情麻豆| 另类调教123区| 在线精品视频免费播放| 国产欧美视频在线观看| 日韩在线一区二区三区| 91麻豆免费视频| 久久久久久97三级| 日韩电影免费一区| 成人黄色a**站在线观看| 欧美一卡二卡在线观看| 亚洲欧美另类小说视频| 国产福利91精品| 91精品国产福利| 亚洲综合一区二区三区| 成人丝袜视频网| 久久免费午夜影院| 青青草原综合久久大伊人精品优势 | 欧美人妇做爰xxxⅹ性高电影| 国产色产综合产在线视频| 奇米综合一区二区三区精品视频| 色综合久久久久久久久| 国产视频一区二区在线观看| 麻豆精品一区二区av白丝在线| 欧美性大战久久久| 日韩一区欧美一区| 波多野结衣在线aⅴ中文字幕不卡| 日韩久久免费av| 日韩av在线发布| 欧美视频在线播放| 亚洲综合男人的天堂| 99国产麻豆精品| 亚洲欧洲日本在线| 成人爱爱电影网址| 欧美激情在线观看视频免费| 国产精品一区一区三区| 精品av久久707| 久久国产视频网| 精品国产免费久久 | 一区二区三区免费看视频| 不卡一区在线观看| 国产精品天美传媒| 成人一区二区三区中文字幕| 中文字幕精品一区| 国产.欧美.日韩| 欧美韩国日本不卡| www.一区二区| 亚洲欧美中日韩| 91美女福利视频| 亚洲一区二区三区视频在线播放| 日本高清视频一区二区| 亚洲综合免费观看高清完整版 | 亚洲一区二区黄色| 欧美日韩一区二区三区在线| 亚洲成a人片综合在线| 欧美放荡的少妇| 麻豆91在线观看| 久久精品人人做人人爽97| 高清视频一区二区| 亚洲欧美日韩电影| 欧美日韩免费一区二区三区视频| 视频一区在线播放| 欧美zozozo| 成人亚洲精品久久久久软件| 亚洲天堂2016| 欧美日韩精品欧美日韩精品一 | 精品日韩欧美一区二区| 国产精品资源在线观看| 国产精品免费av| 欧美视频中文一区二区三区在线观看| 五月婷婷综合网| 精品精品欲导航| 成人高清伦理免费影院在线观看| 亚洲免费观看高清完整版在线 | 91精品国产免费| 国产成人午夜精品影院观看视频 | 中文字幕免费不卡|