📄 navigationcontroller.java
字号:
/* * $RCSfile: NavigationController.java,v $ * $Revision: 1.14 $ * $Date: 2005/05/01 19:54:17 $ * * NeuralNetworkToolkit * Copyright (C) 2004 Universidade de Brasília * * This file is part of NeuralNetworkToolkit. * * NeuralNetworkToolkit 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. * * NeuralNetworkToolkit 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 NeuralNetworkToolkit; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 - USA. */package neuralnetworktoolkit.gui.navigation;import java.io.File;import java.io.IOException;import java.util.ResourceBundle;import java.util.Vector;import javax.swing.*;import neuralnetworktoolkit.NetworkControllerException;import neuralnetworktoolkit.architectures.ArchitectureParameters;import neuralnetworktoolkit.datamanager.textfilemanager.LoadFromFileException;import neuralnetworktoolkit.gui.DefaultFileFilter;import neuralnetworktoolkit.gui.controller.*;import neuralnetworktoolkit.gui.help.AboutDialog;import neuralnetworktoolkit.gui.inference.InferenceController;import neuralnetworktoolkit.gui.inference.InferenceFrame;import neuralnetworktoolkit.gui.inference.InfoDialog;import neuralnetworktoolkit.gui.newnetwork.*;import neuralnetworktoolkit.methods.TrainingParameters;import neuralnetworktoolkit.modelstorage.ModelSerializer;import neuralnetworktoolkit.modelstorage.ModelSerializerException;import neuralnetworktoolkit.normalization.NormalizationParameters;/** * * * @version $Revision: 1.14 $ - $Date: 2005/05/01 19:54:17 $ * * @author <a href="mailto:rodbra@pop.com.br">Rodrigo C. M. Coimbra</a> * @author <a href="mailto:hugoiver@yahoo.com.br">Hugo Iver V. Gon�alves</a> */public class NavigationController implements INavigationController { private static INavigationController cntNav; private IMainController controller; private NavigationFrame window; private NewNetworkFrame newNetworkFrame; private NewNetworkController newNetworkController; private InferenceFrame inferenceFrame; private InferenceController inferenceController; private ResourceBundle resource; /** * * */ public NavigationController() { resource = ResourceBundle .getBundle("neuralnetworktoolkit.gui.navigation.resources.NavigationControllerResource"); window = new NavigationFrame(this); window.show(); } //NavigationController() /** * * @return */ public static INavigationController instantiate() { if(cntNav == null) cntNav = new NavigationController(); return cntNav; } //instantiate() /** * * */ public void loadDataFromFile() { ChooseSeparatorDialog chooseDialog = new ChooseSeparatorDialog(window.getDesktop()); JFileChooser chooser = new JFileChooser(); int returnValue; String separator = null; chooser.setDialogType(JFileChooser.OPEN_DIALOG); chooser.setMultiSelectionEnabled(false); chooser.setApproveButtonText(resource.getString("open")); chooser.setApproveButtonToolTipText(resource.getString("openFile")); chooser.setDialogTitle(resource.getString("openFile")); chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); returnValue = chooser.showOpenDialog(window.getDesktop()); if(returnValue == JFileChooser.APPROVE_OPTION) { try { chooseDialog.showDialog(); separator = chooseDialog.getFieldSeparator(); if(separator != null) { controller = new MainController(); controller.loadDataFromFile(chooser.getSelectedFile(), separator); newNetwork(); } } catch(LoadFromFileException e) { JOptionPane.showMessageDialog( window.getDesktop(), e.getMessage(), resource.getString("nntk"), JOptionPane.ERROR_MESSAGE); } } } //loadDataFromFile() /** * * */ public void loadInferenceDataFromFile() { ChooseSeparatorDialog chooseDialog = new ChooseSeparatorDialog(window.getDesktop()); JFileChooser chooser = new JFileChooser(); int returnValue; String separator = null; chooser.setDialogType(JFileChooser.OPEN_DIALOG); chooser.setMultiSelectionEnabled(false); chooser.setApproveButtonText(resource.getString("open")); chooser.setApproveButtonToolTipText(resource.getString("openFile")); chooser.setDialogTitle(resource.getString("openFile")); chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); returnValue = chooser.showOpenDialog(window.getDesktop()); if(returnValue == JFileChooser.APPROVE_OPTION) { try { chooseDialog.showDialog(); separator = chooseDialog.getFieldSeparator(); if(separator != null) { controller.loadInferenceDataFromFile(chooser.getSelectedFile(), separator); inferenceController.showInferenceData(controller .getInferenceData(), controller .getInferenceDataHeader()); } } catch(LoadFromFileException e) { JOptionPane.showMessageDialog( window.getDesktop(), e.getMessage(), resource.getString("nntk"), JOptionPane.ERROR_MESSAGE); } } } //loadInferenceDataFromFile() /** * * */ public void loadDataFromArff() { } //loadDataFromArff() /** * * */ public void loadDataFromDatabase() { } //loadDataFromDatabase() /** * * */ public void loadNetwork() { JFileChooser chooser; DefaultFileFilter filter; int returnValue; String separator = null; filter = new DefaultFileFilter(ModelSerializer.modelExtensions, resource.getString("fileFilter")); chooser = new JFileChooser(); chooser.setDialogType(JFileChooser.OPEN_DIALOG); chooser.addChoosableFileFilter(filter); chooser.setApproveButtonText(resource.getString("open")); chooser.setDialogTitle(resource.getString("openNetwork")); chooser.setApproveButtonToolTipText(resource.getString("openNetwork")); chooser.setMultiSelectionEnabled(false); chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); returnValue = chooser.showOpenDialog(window.getDesktop()); if(returnValue == JFileChooser.APPROVE_OPTION) { try { controller = new MainController(); controller.loadNetwork(chooser.getSelectedFile()); showInferenceFrame(chooser.getSelectedFile().getName()); } catch (ModelSerializerException e) { JOptionPane.showMessageDialog(window.getDesktop(), e .getMessage(), resource.getString("nntk"), JOptionPane.ERROR_MESSAGE); } catch (NetworkControllerException e) { JOptionPane.showMessageDialog(window.getDesktop(), e .getMessage(), resource.getString("nntk"), JOptionPane.ERROR_MESSAGE); } } } //loadNetwork() /** * * */ private void newNetwork() { newNetworkController = new NewNetworkController(this, controller.getDisplayData(), controller.getDataHeader()); newNetworkFrame = newNetworkController.getNewNetworkFrame(); window.getDesktop().add(newNetworkFrame); newNetworkFrame.show(); } //newNetwork() /** * * @param fileName */ public void saveNetwork(String fileName) { try { controller.saveNetwork(fileName); } catch (ModelSerializerException e) { JOptionPane.showMessageDialog(window.getDesktop(), e.getMessage(), resource.getString("nntk"), JOptionPane.ERROR_MESSAGE); } } //saveNetwork() /** * * */ public void environmentOptions() { } //environmentOptions() /** * * */ public void about() { AboutDialog aboutDialog = new AboutDialog(window.getDesktop()); aboutDialog.showDialog(); } //about() /** * * */ public void createNetwork(String networkName, int[] outputIndex, ArchitectureParameters parameters, TrainingParameters trainingParameters, NormalizationParameters normalizationParameters) { try { controller.createNetwork(outputIndex, parameters, trainingParameters, normalizationParameters); showInferenceFrame(networkName); } catch (NetworkControllerException e) { JOptionPane.showMessageDialog(window.getDesktop(), e.getMessage(), resource.getString("nntk"), JOptionPane.ERROR_MESSAGE); } } //createNetwork() public void showInferenceFrame(String networkName) { inferenceController = new InferenceController(this, networkName); inferenceFrame = inferenceController.getInferenceFrame(); window.getDesktop().add(inferenceFrame); inferenceFrame.show(); } //showInferenceFrame() /** * */ public void infereWithNetwork() { try { controller.infereWithNetwork(); inferenceController.showInferedData(controller .getInferedData(), controller .getInferedDataHeader()); } catch (NetworkControllerException e) { JOptionPane.showMessageDialog(window.getDesktop(), e.getMessage(), resource.getString("nntk"), JOptionPane.ERROR_MESSAGE); } } //infereWithNetwork() /** * * @param inferenceData */ public void infereWithNetwork(Vector inferenceData) { try { controller.infereWithNetwork(inferenceData); inferenceController.showInferedData(controller .getInferedData(), controller .getInferedDataHeader()); } catch (NetworkControllerException e) { JOptionPane.showMessageDialog(window.getDesktop(), e.getMessage(), resource.getString("nntk"), JOptionPane.ERROR_MESSAGE); } } //infereWithNetwork() /** * */ public void saveInferedData(File file) { try { controller.saveInferedData(file); } catch (IOException e) { JOptionPane.showMessageDialog(window.getDesktop(), e.getMessage(), resource.getString("nntk"), JOptionPane.ERROR_MESSAGE); } } //saveInferedData() /** * */ public void showInfo() { InfoDialog dialog; dialog = new InfoDialog(controller.getStatiscalResults()); dialog.showDialog(inferenceFrame); } //showInfo() /** * */ public int getInputSize() { return controller.getInputSize(); } //getInputSize() /** * * @return */ public Vector getInferenceDataHeader() { return controller.getInferenceDataHeader(); } //getInferenceDataHeader()} //NavigationController
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -