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

📄 operateui.java

📁 RBFN for nuro analysis
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.ButtonGroup;
import javax.swing.JMenuBar;
import javax.swing.KeyStroke;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.JFrame;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
//Used Action Listner for JMenuItem & JRadioButtonMenuItem
//Used Item Listner for JCheckBoxMenuItem
public class OperateUI implements ActionListener, ItemListener {
	public String Learningrate="0.5";
	public String IterationTimes="5";
	public String EavTolerance="0.5";
	public String FileName="4Cs.txt";
	private JFrame SubFrame;
	JTextArea jtAreaOutput;
	JScrollPane jspPane;
	static JFrame frame;
	static Toolkit theKit;
	static Dimension wndSize;
	JMenuItem plainTextMenuItem, textIconMenuItem, iconMenuItem, subMenuItem,SettingItem;
	JRadioButtonMenuItem rbMenuItem,rbMenuItem2,rbMenuItem3,rbMenuItem4;
	public JMenuBar createJMenuBar() {
		JMenuBar mainMenuBar;
		JMenu menu1, menu2, submenu;
		
		
		JCheckBoxMenuItem cbMenuItem;
	//	ImageIcon icon = createImageIcon("jmenu.jpg");
		mainMenuBar = new JMenuBar();
		menu1 = new JMenu("Menu 1");
		menu1.setMnemonic(KeyEvent.VK_M);
		mainMenuBar.add(menu1);
		// Creating the MenuItems
		SettingItem=new JMenuItem("Setting");
		SettingItem.addActionListener(this);
		menu1.add(SettingItem);
		
		plainTextMenuItem = new JMenuItem("Menu item with Plain Text",
				KeyEvent.VK_T);
		// can be done either way for assigning shortcuts
		// menuItem.setMnemonic(KeyEvent.VK_T);
		// Accelerators, offer keyboard shortcuts to bypass navigating the menu
		// hierarchy.
		plainTextMenuItem.setAccelerator(KeyStroke.getKeyStroke(
				KeyEvent.VK_1, ActionEvent.ALT_MASK));
		plainTextMenuItem.addActionListener(this);
		menu1.add(plainTextMenuItem);
	//	textIconMenuItem = new JMenuItem("Menu Item with Text & Image",
	//			icon);
	//	textIconMenuItem.setMnemonic(KeyEvent.VK_B);
	//	textIconMenuItem.addActionListener(this);
	//	menu1.add(textIconMenuItem);
		// Menu Item with just an Image
	//	iconMenuItem = new JMenuItem(icon);
	//	iconMenuItem.setMnemonic(KeyEvent.VK_D);
	//	iconMenuItem.addActionListener(this);
	//	menu1.add(iconMenuItem);
		menu1.addSeparator();
		// Radio Button Menu items follow a seperator
		ButtonGroup itemGroup = new ButtonGroup();
		rbMenuItem = new JRadioButtonMenuItem(
				"4Cs.txt");
		rbMenuItem.setSelected(true);
		rbMenuItem.setMnemonic(KeyEvent.VK_R);
		itemGroup.add(rbMenuItem);
		rbMenuItem.addActionListener(this);
		menu1.add(rbMenuItem);
		
		rbMenuItem2 = new JRadioButtonMenuItem(
				"579.txt");
		itemGroup.add(rbMenuItem2);
		rbMenuItem2.addActionListener(this);
		menu1.add(rbMenuItem2);
		
		rbMenuItem3 = new JRadioButtonMenuItem(
		"800.txt");
itemGroup.add(rbMenuItem3);
rbMenuItem3.addActionListener(this);
menu1.add(rbMenuItem3);

rbMenuItem4 = new JRadioButtonMenuItem(
"irisdata.txt");
itemGroup.add(rbMenuItem4);
rbMenuItem4.addActionListener(this);
menu1.add(rbMenuItem4);
		menu1.addSeparator();
		// Radio Button Menu items follow a seperator
		cbMenuItem = new JCheckBoxMenuItem("Menu Item with check box");
		cbMenuItem.setMnemonic(KeyEvent.VK_C);
		cbMenuItem.addItemListener(this);
		menu1.add(cbMenuItem);
		cbMenuItem = new JCheckBoxMenuItem("Menu Item 2 with check box");
		cbMenuItem.addItemListener(this);
		menu1.add(cbMenuItem);
		menu1.addSeparator();
		// Sub Menu follows a seperator
		submenu = new JMenu("Sub Menu");
		submenu.setMnemonic(KeyEvent.VK_S);
		subMenuItem = new JMenuItem("Sub MenuItem 1");
		subMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2,
				ActionEvent.CTRL_MASK));
		subMenuItem.addActionListener(this);
		submenu.add(subMenuItem);
		subMenuItem = new JMenuItem("Sub MenuItem 2");
		submenu.add(subMenuItem);
		subMenuItem.addActionListener(this);
		menu1.add(submenu);
		// Build second menu in the menu bar.
		menu2 = new JMenu("Menu 2");
		menu2.setMnemonic(KeyEvent.VK_N);
		mainMenuBar.add(menu2);
		return mainMenuBar;
	}
/*	public Container createContentPane() {
		
		
		// Create the content-pane-to-be.
		JPanel jplContentPane = new JPanel(new BorderLayout());
		jplContentPane.setLayout(new BorderLayout());// Can do it either way
									// to set layout
		jplContentPane.setOpaque(true);
		// Create a scrolled text area.
		jtAreaOutput = new JTextArea(10, 100);
		jtAreaOutput.setSize(width, height);
		jtAreaOutput.setEditable(false);
		jspPane = new JScrollPane(jtAreaOutput);
		// Add the text area to the content pane.
		jplContentPane.add(jspPane, BorderLayout.CENTER);
		
		return jplContentPane;
		
		
	}
	*/
public Container createContentPane2()throws Exception {
	JPanel contain=new JPanel();
	// Create the content-pane-to-be.
	JPanel jplContentPane2 = new JPanel(new BorderLayout());
	jplContentPane2.setLayout(new BorderLayout());// Can do it either way
								// to set layout
	jplContentPane2.setOpaque(true);
	
	// Create a scrolled text area.
	jtAreaOutput = new JTextArea(5, 30);
	jtAreaOutput.setEditable(false);
	// Add the text area to the content pane.
	
//JTextArea setAttribute = new JTextArea(10, 100);
//	jplContentPane.add(setAttribute);
	DataPoints data=new DataPoints(FileName);
	data.parse();
	data.DivideTrainingSet();
	RBFNetwork rbfn2=new RBFNetwork(data,Learningrate,IterationTimes,EavTolerance,jtAreaOutput);
	rbfn2.Init2();
	rbfn2.training2();
//	rbfn.testing();
	ChartDrawer demo2 = new ChartDrawer(
            "Training Set",jplContentPane2,data
        );
	
	
    
		
		// Create the content-pane-to-be.
		JPanel jplContentPane = new JPanel(new BorderLayout());
		jplContentPane.setLayout(new BorderLayout());// Can do it either way
									// to set layout
		jplContentPane.setOpaque(true);
		
	//	JTextArea setAttribute = new JTextArea(10, 100);
	//	jplContentPane.add(setAttribute);
		
		
	/*	
		DataPoints data=new DataPoints(FileName);
		data.parse();
		data.DivideTrainingSet();
		*/
		
		
	//	RBFNetwork rbfn=new RBFNetwork(data,Learningrate,IterationTimes,EavTolerance,jtAreaOutput);
	//	rbfn.Init();
	//	rbfn.training();
		rbfn2.testing();
		ChartDrawer demo = new ChartDrawer(
	            "Testing Set",jplContentPane,data
	        );
		
	/*	JPanel Pane=new JPanel();
		JTextArea setAttribute = new JTextArea(2, 2);
	//	setAttribute.setEditable(true);
	//	setAttribute.
		Pane.add(setAttribute);
		frame.getContentPane().add(Pane, BorderLayout.SOUTH);
		frame.setVisible(true);
		*/
		
		
		
		//jplContentPane.add(jspPane, BorderLayout.CENTER);
		contain.add(jplContentPane, BorderLayout.WEST);
		contain.add(jplContentPane2, BorderLayout.WEST);
		
		jspPane = new JScrollPane(jtAreaOutput);
		contain.add(jspPane,BorderLayout.SOUTH);
		//return jplContentPane;
		return contain;
	}
	/** Returns an ImageIcon, or null if the path was invalid. */
	protected static ImageIcon createImageIcon(String path) {
		java.net.URL imgURL = OperateUI.class.getResource(path);
		if (imgURL != null) {
			return new ImageIcon(imgURL);
		} else {
			System.err.println("Couldn't find image file: " + path);
			return null;
		}
	}
	private static void createGUI() throws Exception {
		JFrame.setDefaultLookAndFeelDecorated(true);
		
		
		
		// Create and set up the window.
		frame = new JFrame("JMenu Usage Demo");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		OperateUI app = new OperateUI();
		frame.setJMenuBar(app.createJMenuBar());
		frame.setContentPane(app.createContentPane2());
		theKit=frame.getToolkit();
		wndSize=theKit.getScreenSize();
		frame.setSize(wndSize.width,wndSize.height);
		
	//	frame.getContentPane().add(frame, frame);
		frame.setVisible(true);
		
	}
	public void actionPerformed(ActionEvent e) {
/*		JMenuItem source = (JMenuItem) (e.getSource());
		String s = "Menu Item source: " + source.getText()
				+ " (an instance of " + getClassName(source) + ")";
		jtAreaOutput.append(s + "\n");
		jtAreaOutput.setCaretPosition(jtAreaOutput.getDocument()
				.getLength());*/
		JMenuItem source = (JMenuItem) (e.getSource());
		if(e.getSource()==rbMenuItem || e.getSource()==rbMenuItem2 || e.getSource()==rbMenuItem3
				||e.getSource()==rbMenuItem4) {
			//System.out.println("radio_button_call");
			FileName=source.getText();
			try {
			frame.setContentPane(createContentPane2());
			frame.setVisible(true);
			}catch(Exception E) {
				
			}
		}
		if(e.getSource()==SettingItem) {
			Dialog set=new Dialog(frame,"Setting","",this);
			//if() {
				
			//}
		}
		
	}
	public void itemStateChanged(ItemEvent e) {
		JMenuItem source = (JMenuItem) (e.getSource());
		String s = "Menu Item source: "
				+ source.getText()
				+ " (an instance of "
				+ getClassName(source)
				+ ")"
				+ "\n"
				+ "    State of check Box: "
				+ ((e.getStateChange() == ItemEvent.SELECTED) ? "selected"
						: "unselected");
		jtAreaOutput.append(s + "\n");
		jtAreaOutput.setCaretPosition(jtAreaOutput.getDocument()
				.getLength());
	}
	// Returns the class name, no package info
	protected String getClassName(Object o) {
		String classString = o.getClass().getName();
		int dotIndex = classString.lastIndexOf(".");
		return classString.substring(dotIndex + 1); // Returns only Class name
	}
	public static void main(String[] args){
		javax.swing.SwingUtilities.invokeLater(new Runnable() {

			public void run() {
				try {
				createGUI();
				}catch(Exception e) {}
			}
		});
	}
}

class Dialog extends JDialog implements ActionListener{
	JButton button;
	JFrame Parent;
	OperateUI ui;
	JTextField setAttribute3;
	JTextField setAttribute;
	JTextField setAttribute2;
	public Boolean OK=false;
	public Dialog(JFrame parent,String title,String message,OperateUI UI) {
		super(parent,title,true);
		if(parent!=null){
			//Dimension parentSize=parent.getSize();
			//Point p=parent.getLocation();
		}
		Parent=parent;
		ui=UI;
		JPanel messagePane=new JPanel();
		messagePane.add(new JLabel(message));
		getContentPane().add(messagePane);
		
		
		JPanel Pane1=new JPanel();
		JLabel Label1=new JLabel("Learning Rate:");
		setAttribute=new JTextField(UI.Learningrate,4);
		setAttribute.setEditable(true);
	//	UI.Learningrate=setAttribute.getText();
	//	setAttribute = new JTextArea(2, 2);
	//	setAttribute.setEditable(true);
	//	setAttribute.
		Pane1.add(Label1);
		Pane1.add(setAttribute);
		
		
		
		JLabel Label2=new JLabel("    Iteration:");
		setAttribute2=new JTextField(UI.IterationTimes,4);
	//	UI.IterationTimes=setAttribute2.getText();
	//	setAttribute = new JTextArea(2, 2);
	//	setAttribute.setEditable(true);
	//	setAttribute.
		Pane1.add(Label2);
		Pane1.add(setAttribute2);
		
		
		
		JLabel Label3=new JLabel("     Eav_Tolerance:");
		setAttribute3=new JTextField(UI.EavTolerance,4);
	//	UI.EavTolerance=setAttribute3.getText();
	//	setAttribute = new JTextArea(2, 2);
	//	setAttribute.setEditable(true);
	//	setAttribute.
		Pane1.add(Label3);
		Pane1.add(setAttribute3);
		getContentPane().add(Pane1, BorderLayout.NORTH);
		
		JPanel buttonPane=new JPanel();
		button=new JButton("OK");
		buttonPane.add(button);
		
		
		
		button.addActionListener(this);
		getContentPane().add(buttonPane,BorderLayout.SOUTH);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		pack();
		setVisible(true);
	}
	public void actionPerformed(ActionEvent e) {
		if(e.getSource()==button) {
			OK=true;
			try {
			ui.Learningrate=setAttribute.getText();
			ui.IterationTimes=setAttribute2.getText();
			ui.EavTolerance=setAttribute3.getText();
			Parent.setContentPane(ui.createContentPane2());
			Parent.setVisible(true);
			}catch(Exception E) {}
		}
		setVisible(false);
		dispose();
	}
}

⌨️ 快捷键说明

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