📄 inferenceframe.java
字号:
/* * $RCSfile: InferenceFrame.java,v $ * $Revision: 1.7 $ * $Date: 2005/04/30 02:43:46 $ * * 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.inference;import java.awt.BorderLayout;import java.awt.Dimension;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.ResourceBundle;import java.util.Vector;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JInternalFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSplitPane;import javax.swing.JToolBar;import javax.swing.border.TitledBorder;import javax.swing.table.DefaultTableModel;import neuralnetworktoolkit.gui.AttributesTable;/** * * * @version $Revision: 1.7 $ - $Date: 2005/04/30 02:43:46 $ * * @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 InferenceFrame extends JInternalFrame { private AttributesTable inputTable; private AttributesTable inferedTable; private JToolBar inputTableBar; private JToolBar inferedTableBar; private JToolBar mainBar; private JPanel inputTablePanel; private JPanel inferedTablePanel; private JPanel inputDataPanel; private JPanel inferedDataPanel; private JSplitPane tablesSplitPane; private JPanel mainPanel; private JButton saveButton; private JButton infoButton; private JButton closeButton; private JButton infereButton; private JButton manualDataButton; private JButton loadDataButton; private JButton saveInferedDataButton; private JButton addRowButton; private JButton removeRowButton; private JButton forwardButton; private JButton backButton; private JLabel selectedColumnLabel; private JScrollPane inputTableScrollPane; private JScrollPane inferedTableScrollPane; private InferenceController controller; private ResourceBundle resource; private ResourceBundle iconsResource; /** * @param networkName */ public InferenceFrame(InferenceController controller) { super(); this.controller = controller; resource = ResourceBundle .getBundle("neuralnetworktoolkit.gui.inference.resources.InferenceFrameResource"); iconsResource = ResourceBundle .getBundle("neuralnetworktoolkit.gui.resources.IconsResource"); this.setTitle(resource.getString("title") + " - " + controller.getNetworkName()); this.setResizable(true); this.setMaximizable(true); this.setClosable(true); this.setIconifiable(true); this.setSize(700, 400); saveButton = new JButton(); saveButton.setIcon((ImageIcon)iconsResource.getObject("stock_save_as24")); saveButton.setToolTipText(resource.getString("save")); saveButton.addActionListener(new SaveButtonListener()); infoButton = new JButton(); infoButton.setIcon((ImageIcon)iconsResource.getObject("gnome-status24")); infoButton.setToolTipText(resource.getString("info")); infoButton.addActionListener(new InfoButtonListener()); closeButton = new JButton(); closeButton.setIcon((ImageIcon)iconsResource.getObject("stock_close24")); closeButton.setToolTipText(resource.getString("close")); closeButton.addActionListener(new CloseButtonListener()); mainBar = new JToolBar(); mainBar.setFloatable(false); mainBar.add(saveButton); mainBar.addSeparator(); mainBar.add(infoButton); mainBar.addSeparator(); mainBar.add(closeButton); inputTable = new AttributesTable(); inputTableScrollPane = new JScrollPane(inputTable); infereButton = new JButton(); infereButton.setIcon((ImageIcon) iconsResource .getObject("stock_filters24")); infereButton.setToolTipText(resource.getString("infere")); infereButton.setEnabled(false); infereButton.addActionListener(new InfereButtonListener()); loadDataButton = new JButton(); loadDataButton.setIcon((ImageIcon) iconsResource .getObject("stock_insert-file24")); loadDataButton.setToolTipText(resource.getString("loadData")); loadDataButton.addActionListener(new LoadDataButtonListener()); manualDataButton = new JButton(); manualDataButton.setIcon((ImageIcon) iconsResource .getObject("stock_text-double-click-to-edit24")); manualDataButton.setToolTipText(resource.getString("manual")); manualDataButton.addActionListener(new ManualDataButtonListener()); forwardButton = new JButton(); forwardButton.setIcon((ImageIcon) iconsResource .getObject("stock_right24")); forwardButton.setEnabled(false); backButton = new JButton(); backButton.setIcon((ImageIcon) iconsResource .getObject("stock_left24")); backButton.setEnabled(false); addRowButton = new JButton(); addRowButton .setIcon((ImageIcon) iconsResource.getObject("stock_add24")); addRowButton.setToolTipText(resource.getString("add")); addRowButton.setEnabled(false); addRowButton.addActionListener(new AddRowButtonListener()); removeRowButton = new JButton(); removeRowButton.setIcon((ImageIcon) iconsResource .getObject("stock_remove24")); removeRowButton.setToolTipText(resource.getString("remove")); removeRowButton.setEnabled(false); removeRowButton.addActionListener(new RemoveRowButtonListener()); inputTableBar = new JToolBar(); inputTableBar.setFloatable(false); inputTableBar.add(infereButton); inputTableBar.addSeparator(); inputTableBar.add(loadDataButton); inputTableBar.add(manualDataButton); inputTableBar.addSeparator(new Dimension(30, 0)); inputTableBar.add(backButton); inputTableBar.add(forwardButton); inputTableBar.addSeparator(new Dimension(30, 0)); inputTableBar.add(addRowButton); inputTableBar.add(removeRowButton); inputDataPanel = new JPanel(); inputDataPanel.setLayout(new BorderLayout()); inputDataPanel.add(inputTableBar, BorderLayout.NORTH); inputDataPanel.add(inputTableScrollPane, BorderLayout.CENTER); inputDataPanel.setBorder(new TitledBorder(resource .getString("inputData"))); inferedTable = new AttributesTable(); inferedTableScrollPane = new JScrollPane(inferedTable); saveInferedDataButton = new JButton(); saveInferedDataButton.setIcon((ImageIcon) iconsResource .getObject("stock_data-save24")); saveInferedDataButton.setToolTipText(resource.getString("saveInfered")); saveInferedDataButton.setEnabled(false); saveInferedDataButton .addActionListener(new SaveInferedDataButtonListener()); inferedTableBar = new JToolBar(); inferedTableBar.setFloatable(false); inferedTableBar.add(saveInferedDataButton); inferedDataPanel = new JPanel(); inferedDataPanel.setLayout(new BorderLayout()); inferedDataPanel.add(inferedTableBar, BorderLayout.NORTH); inferedDataPanel.add(inferedTableScrollPane, BorderLayout.CENTER); inferedDataPanel.setBorder(new TitledBorder(resource .getString("inferedData"))); tablesSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, inputDataPanel, inferedDataPanel); tablesSplitPane.setContinuousLayout(true); tablesSplitPane.setOneTouchExpandable(false); tablesSplitPane.setDividerLocation(0.2); mainPanel = new JPanel(); mainPanel.setLayout(new BorderLayout()); mainPanel.add(mainBar, BorderLayout.NORTH); mainPanel.add(tablesSplitPane, BorderLayout.CENTER); this.setContentPane(mainPanel); } //InferenceFrame() /** * * @param inferenceData * @param inferenceHeader */ public void showInferenceData(Vector inferenceData, Vector inferenceHeader) { inputTable.setModel(new DefaultTableModel(inferenceData, inferenceHeader)); } //showInferenceData() /** * * @param inferenceData * @param inferenceHeader */ public void showInferedData(Vector inferedData, Vector inferedHeader) { inferedTable.setModel(new DefaultTableModel(inferedData, inferedHeader)); } //showInferenceData() /** * @param manualData * @param header */ public void setManualTable(Vector manualData, Vector header) { inputTable.setModel(new DefaultTableModel(manualData, header)); inputTable.setInferenceProperties(); } //setManualTable() /** * */ private class SaveButtonListener implements ActionListener { public void actionPerformed(ActionEvent evt) { controller.saveNetwork(); } //actionPerformed() } //SaveButtonListener /** * */ private class InfoButtonListener implements ActionListener { public void actionPerformed(ActionEvent evt) { controller.showInfo(); } //actionPerformed() } //InfoButtonListener /** * */ private class CloseButtonListener implements ActionListener { public void actionPerformed(ActionEvent evt) { dispose(); } //actionPerformed() } //CloseButtonListener /** * */ private class InfereButtonListener implements ActionListener { public void actionPerformed(ActionEvent evt) { controller.infereWithNetwork(); saveInferedDataButton.setEnabled(true); } //actionPerformed() } //InfereButtonListener /** * */ private class LoadDataButtonListener implements ActionListener { public void actionPerformed(ActionEvent evt) { controller.loadInferenceDataFromFile(); infereButton.setEnabled(true); } //actionPerformed() } //LoadDataButtonListener /** * */ private class ManualDataButtonListener implements ActionListener { public void actionPerformed(ActionEvent evt) { controller.loadDataManually(); infereButton.setEnabled(true); addRowButton.setEnabled(true); removeRowButton.setEnabled(true); } //actionPerformed() } //ManualDataButtonListener /** * */ private class AddRowButtonListener implements ActionListener { public void actionPerformed(ActionEvent evt) { controller.addRow(); inputTable.updateUI(); } //actionPerformed() } //AddRowButtonListener /** * */ private class RemoveRowButtonListener implements ActionListener { public void actionPerformed(ActionEvent evt) { controller.removeRow(inputTable.getSelectedRow()); inputTable.updateUI(); } //actionPerformed() } //RemoveRowButtonListener /** * */ private class SaveInferedDataButtonListener implements ActionListener { public void actionPerformed(ActionEvent evt) { controller.saveInferedData(); } //actionPerformed() } //RemoveRowButtonListener } //InferenceFrame
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -