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

📄 mainform.java

📁 Java实现的快速自相关算法:提供交互界面,可读入外部数据文件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
				for(int j=1;j<=winfrqlength;j++){
					midx[j]=sigelX[i+j];
					midy[j]=sigelY[i+j];
				}
			xianggan[i]=Math.abs(this.ComputR(midx,midy,winfrqlength));
			//System.out.print(xiangguan[i]+"\n");
			}
			this.panel3.invalidate();
			this.panel4.invalidate();
		}
	}

	/*private void panel2_paint(Object source, PaintEvent e)
	{
		int x0=20,y0=this.panel2.getHeight()-20;
		e.graphics.setPen(new Pen(Color.DARKGRAY,PenStyle.DOT,1));
		for(int i=0;i<=10;i++)
			e.graphics.drawLine(x0,y0-(panel2.getHeight()-40)/10*i,panel2.getWidth()-20,y0-(panel2.getHeight()-40)/10*i);
		for(int i=0;i<=100;i++)
			e.graphics.drawLine(x0+(int)((double)(panel2.getWidth()-40)/100*i),y0,x0+(int)((double)(panel2.getWidth()-40)/100*i),20);
		
		if(draw){
			double step=(double)(this.panel2.getWidth()-40)/100;
			e.graphics.setPen(new Pen(Color.WHITE,PenStyle.SOLID,1));
			double range=10;
			int first=this.comboBox1.getSelectedIndex()+1;
			int second=this.comboBox2.getSelectedIndex()+1;
			for(int i=1;i<100;i++){
				e.graphics.drawLine(x0+(int)(step*(i-1)),y0-(int)(Math.sqrt(Sre[i][first][first]*Sre[i][first][first]+Sim[i][first][first]*Sim[i][first][first])*(panel2.getHeight()-40)/range),x0+(int)(step*i),y0-(int)(Math.sqrt(Sre[i+1][first][first]*Sre[i+1][first][first]+Sim[i+1][first][first]*Sim[i+1][first][first])*(panel2.getHeight()-40)/range));
				}
			e.graphics.setPen(new Pen(Color.BLUE,PenStyle.SOLID,1));
			for(int i=1;i<100;i++){
				e.graphics.drawLine(x0+(int)(step*(i-1)),y0-(int)(Math.sqrt(Sre[i][second][second]*Sre[i][second][second]+Sim[i][second][second]*Sim[i][second][second])*(panel2.getHeight()-40)/range),x0+(int)(step*i),y0-(int)(Math.sqrt(Sre[i+1][second][second]*Sre[i+1][second][second]+Sim[i+1][second][second]*Sim[i+1][second][second])*(panel2.getHeight()-40)/range));
				}
			e.graphics.setPen(new Pen(Color.GREEN,PenStyle.SOLID,1));
			for(int i=1;i<100;i++){
				e.graphics.drawLine(x0+(int)(step*(i-1)),y0-(int)(Math.sqrt(Sre[i][first][second]*Sre[i][first][second]+Sim[i][first][second]*Sim[i][first][second])*(panel2.getHeight()-40)/range),x0+(int)(step*i),y0-(int)(Math.sqrt(Sre[i+1][first][second]*Sre[i+1][first][second]+Sim[i+1][first][second]*Sim[i+1][first][second])*(panel2.getHeight()-40)/range));
				}
			
		}
	}*/

	private void panel3_paint(Object source, PaintEvent e)
	{
		if(draw){
		int x0=0;
		int y0[]=new int[electrade+1];
		for(int i=1;i<=electrade;i++)
			y0[i]=(int)((double)panel3.getHeight()*(2*i-1)/(electrade*2));
		double step=(double)panel3.getWidth()/datapoint;
		double height=(double)panel3.getHeight()/(2*electrade);
		double neegmean[][]=new double[electrade+1][datapoint+1];
		double max=0,sum=0;
		for(int i=1;i<=electrade;i++)
			for(int k=1;k<=datapoint;k++){
				for(int j=1;j<=trial;j++)
					sum+=neeg[i][j][k];
				neegmean[i][k]=sum/trial;
				sum=0;
				if(Math.abs(neegmean[i][k])>max)max=Math.abs(neegmean[i][k]);
			}
		
		for(int i=1;i<datapoint;i++)
			for(int j=1;j<=electrade;j++){
				if(j==this.comboBox1.getSelectedIndex()+1||j==this.comboBox2.getSelectedIndex()+1)
					e.graphics.setPen(new Pen(Color.RED,PenStyle.SOLID,2));
				else
					e.graphics.setPen(new Pen(Color.WHITE,PenStyle.SOLID,1));
				e.graphics.drawLine(x0+(int)(step*(i-1)),y0[j]-(int)(neegmean[j][i]*height/max),x0+(int)(step*i),y0[j]-(int)(neegmean[j][i+1]*height/max));
			}
		}
	}

	private void panel4_paint(Object source, PaintEvent e)
	{
		int x0=20,y0=this.panel4.getHeight()-20;
		e.graphics.setPen(new Pen(Color.DARKGRAY,PenStyle.DOT,1));
		for(int i=0;i<=10;i++)
			e.graphics.drawLine(x0,y0-(panel4.getHeight()-40)/10*i,panel4.getWidth()-20,y0-(panel4.getHeight()-40)/10*i);
		for(int i=0;i<=100;i++)
			e.graphics.drawLine(x0+(int)((double)(panel4.getWidth()-40)/100*i),y0,x0+(int)((double)(panel4.getWidth()-40)/100*i),20);
		//e.graphics.setPen(new Pen(Color.WHITE,PenStyle.SOLID,2));
		//e.graphics.drawLine(x0,y0,this.panel4.getWidth()-20,y0);
		e.graphics.setTextColor(Color.WHITE);
		e.graphics.drawString("0",x0-10,y0);
		e.graphics.drawString("1",x0-10,20);
		//e.graphics.drawString("-1",x0-10,panel4.getHeight()-30);
		e.graphics.drawString("Hz",panel4.getWidth()/2,panel4.getHeight()-15);
		e.graphics.drawString("60",panel4.getWidth()-20,panel4.getHeight()-20);
		
		if(draw){
			//y0-=(this.panel4.getHeight()-40)/2;
			//e.graphics.setPen(new Pen(Color.WHITE,PenStyle.SOLID,2));
			//e.graphics.drawLine(x0,y0,this.panel4.getWidth()-20,y0);
			double step=(double)(this.panel4.getWidth()-40)/(72-winfrqlength);
			e.graphics.setPen(new Pen(Color.RED,PenStyle.SOLID,2));
			for(int i=1;i<72-winfrqlength;i++){
				e.graphics.drawLine(x0+(int)(step*(i-1)),y0-(int)(xianggan[i]*(this.panel4.getHeight()-40)),x0+(int)(step*i),y0-(int)(xianggan[i+1]*(this.panel4.getHeight()-40)));
				}
		}
	}

	private void button3_click(Object source, Event e)
	{
		new help().showDialog();
	}

	private void button4_click(Object source, Event e)
	{
		new sequency().showDialog();
	}

	private void mainform_click(Object source, Event e)
	{
		
	}

	private void label5_click(Object source, Event e)
	{
		
	}

	private void label9_click(Object source, Event e)
	{
		
	}

	/**
	 * NOTE: The following code is required by the Visual J++ form
	 * designer.  It can be modified using the form editor.  Do not
	 * modify it using the code editor.
	 */
	Container components = new Container();
	GroupBox groupBox1 = new GroupBox();
	GroupBox groupBox2 = new GroupBox();
	Button button1 = new Button();
	Label label1 = new Label();
	GroupBox groupBox3 = new GroupBox();
	Edit edit1 = new Edit();
	Label label2 = new Label();
	Edit edit2 = new Edit();
	Label label3 = new Label();
	Edit edit3 = new Edit();
	Panel panel1 = new Panel();
	Label label4 = new Label();
	Label label5 = new Label();
	Label label6 = new Label();
	Label label7 = new Label();
	Label label8 = new Label();
	GroupBox groupBox4 = new GroupBox();
	Label label9 = new Label();
	ComboBox comboBox2 = new ComboBox();
	Label label10 = new Label();
	TabControl tabControl1 = new TabControl();
	Button button2 = new Button();
	TabPage tabPage1 = new TabPage();
	ComboBox comboBox1 = new ComboBox();
	Panel panel4 = new Panel();
	Panel panel2 = new Panel();
	TabPage tabPage3 = new TabPage();
	Panel panel3 = new Panel();
	TabPage tabPage4 = new TabPage();
	Button button3 = new Button();
	Button button4 = new Button();

	private void initForm()
	{
		// NOTE:  This form is storing resource information in an
		// external file.  Do not modify the string parameter to any
		// resources.getObject() function call. For example, do not
		// modify "foo1_location" in the following line of code
		// even if the name of the Foo object changes: 
		//   foo1.setLocation((Point)resources.getObject("foo1_location"));

		IResourceManager resources = new ResourceManager(this, "mainform");
		this.setText("大脑皮层网络功能的相关/相干分析");
		this.setAutoScaleBaseSize(new Point(6, 12));
		this.setBorderStyle(FormBorderStyle.FIXED_DIALOG);
		this.setClientSize(new Point(998, 650));
		this.setIcon((Icon)resources.getObject("this_icon"));
		this.setMaximizeBox(false);
		this.setStartPosition(FormStartPosition.CENTER_SCREEN);
		this.addOnClick(new EventHandler(this.mainform_click));

		groupBox1.setLocation(new Point(8, 8));
		groupBox1.setSize(new Point(984, 480));
		groupBox1.setTabIndex(0);
		groupBox1.setTabStop(false);
		groupBox1.setText("");

		groupBox2.setLocation(new Point(8, 488));
		groupBox2.setSize(new Point(288, 152));
		groupBox2.setTabIndex(1);
		groupBox2.setTabStop(false);
		groupBox2.setText("");

		button1.setLocation(new Point(144, 120));
		button1.setSize(new Point(128, 24));
		button1.setTabIndex(0);
		button1.setText("导入EEG文件");
		button1.addOnClick(new EventHandler(this.button1_click));

		label1.setLocation(new Point(24, 24));
		label1.setSize(new Point(120, 16));
		label1.setTabIndex(1);
		label1.setTabStop(false);
		label1.setText("电极数electrade");

		groupBox3.setLocation(new Point(536, 488));
		groupBox3.setSize(new Point(456, 152));
		groupBox3.setTabIndex(2);
		groupBox3.setTabStop(false);
		groupBox3.setText("");

		edit1.setLocation(new Point(144, 24));
		edit1.setSize(new Point(128, 19));
		edit1.setTabIndex(4);
		edit1.setText("16");

		label2.setLocation(new Point(24, 56));
		label2.setSize(new Point(120, 16));
		label2.setTabIndex(5);
		label2.setTabStop(false);
		label2.setText("重试次数trial");

		edit2.setLocation(new Point(144, 56));
		edit2.setSize(new Point(128, 19));
		edit2.setTabIndex(3);
		edit2.setText("10");

		label3.setLocation(new Point(24, 88));
		label3.setSize(new Point(112, 16));
		label3.setTabIndex(6);
		label3.setTabStop(false);
		label3.setText("数据点数datapoint");

		edit3.setLocation(new Point(144, 88));
		edit3.setSize(new Point(128, 19));
		edit3.setTabIndex(2);
		edit3.setText("1200");

		panel1.setBackColor(Color.CONTROLTEXT);
		panel1.setSize(new Point(960, 424));
		panel1.setTabIndex(0);
		panel1.setText("panel1");
		panel1.addOnPaint(new PaintEventHandler(this.panel1_paint));

		label4.setLocation(new Point(16, 24));
		label4.setSize(new Point(192, 16));
		label4.setTabIndex(1);
		label4.setTabStop(false);
		label4.setText("文件数据长度应该为:");

		label5.setBackColor(Color.INFO);
		label5.setLocation(new Point(208, 24));
		label5.setSize(new Point(240, 16));
		label5.setTabIndex(3);
		label5.setTabStop(false);
		label5.setText("");
		label5.addOnClick(new EventHandler(this.label5_click));

		label6.setLocation(new Point(16, 48));
		label6.setSize(new Point(184, 16));
		label6.setTabIndex(0);
		label6.setTabStop(false);
		label6.setText("实际文件数据长度为:");

		label7.setBackColor(Color.INFO);
		label7.setLocation(new Point(208, 48));
		label7.setSize(new Point(240, 16));
		label7.setTabIndex(2);
		label7.setTabStop(false);
		label7.setText("");

		label8.setLocation(new Point(17, 72));
		label8.setSize(new Point(432, 40));
		label8.setTabIndex(4);
		label8.setTabStop(false);
		label8.setText("");

		groupBox4.setLocation(new Point(304, 488));
		groupBox4.setSize(new Point(224, 152));
		groupBox4.setTabIndex(3);
		groupBox4.setTabStop(false);
		groupBox4.setText("");

		label9.setLocation(new Point(16, 24));
		label9.setSize(new Point(200, 16));
		label9.setTabIndex(0);
		label9.setTabStop(false);
		label9.setText("设定相关/相干的两导:");
		label9.addOnClick(new EventHandler(this.label9_click));

		comboBox2.setLocation(new Point(136, 48));
		comboBox2.setSize(new Point(72, 20));
		comboBox2.setTabIndex(3);
		comboBox2.setText("1");
		comboBox2.setItems(new Object[] {
						   "1", 
						   "2", 
						   "3", 
						   "4", 
						   "5", 
						   "6", 
						   "7", 
						   "8", 
						   "9", 
						   "10", 
						   "11", 
						   "12", 
						   "13", 
						   "14", 
						   "15", 
						   "16"});

		label10.setLocation(new Point(104, 56));
		label10.setSize(new Point(16, 16));
		label10.setTabIndex(1);
		label10.setTabStop(false);
		label10.setText("与");

		tabControl1.setLocation(new Point(8, 16));
		tabControl1.setSize(new Point(968, 456));
		tabControl1.setTabIndex(0);
		tabControl1.setText("tabControl1");
		tabControl1.setSelectedIndex(0);

		button2.setLocation(new Point(72, 120));
		button2.setSize(new Point(136, 24));
		button2.setTabIndex(2);
		button2.setText("刷新");
		button2.addOnClick(new EventHandler(this.button2_click));

		tabPage1.setLocation(new Point(4, 25));
		tabPage1.setSize(new Point(960, 427));
		tabPage1.setTabIndex(1);
		tabPage1.setText("相关");

		comboBox1.setLocation(new Point(16, 48));
		comboBox1.setSize(new Point(72, 20));
		comboBox1.setTabIndex(4);
		comboBox1.setText("1");
		comboBox1.setItems(new Object[] {
						   "1", 
						   "2", 
						   "3", 
						   "4", 
						   "5", 
						   "6", 
						   "7", 
						   "8", 
						   "9", 
						   "10", 
						   "11", 
						   "12", 
						   "13", 
						   "14", 
						   "15", 
						   "16"});

		panel4.setBackColor(Color.CONTROLTEXT);
		panel4.setSize(new Point(960, 424));
		panel4.setTabIndex(0);
		panel4.setText("panel1");
		panel4.addOnPaint(new PaintEventHandler(this.panel4_paint));

		panel2.setSize(new Point(200, 100));
		panel2.setTabIndex(4);
		panel2.setText("");

		tabPage3.setLocation(new Point(4, 25));
		tabPage3.setSize(new Point(960, 427));
		tabPage3.setTabIndex(0);
		tabPage3.setText("信号");

		panel3.setBackColor(Color.WINDOWFRAME);
		panel3.setSize(new Point(960, 424));
		panel3.setTabIndex(0);
		panel3.setText("panel3");
		panel3.addOnPaint(new PaintEventHandler(this.panel3_paint));

		tabPage4.setLocation(new Point(4, 25));
		tabPage4.setSize(new Point(960, 427));
		tabPage4.setTabIndex(2);
		tabPage4.setText("相干");

		button3.setLocation(new Point(304, 120));
		button3.setSize(new Point(136, 24));
		button3.setTabIndex(5);
		button3.setText("程序说明");
		button3.addOnClick(new EventHandler(this.button3_click));

		button4.setLocation(new Point(16, 120));
		button4.setSize(new Point(128, 24));
		button4.setTabIndex(6);
		button4.setText("程序流程");
		button4.addOnClick(new EventHandler(this.button4_click));

		this.setNewControls(new Control[] {
							groupBox4, 
							groupBox3, 
							groupBox2, 
							groupBox1, 
							panel2});
		groupBox1.setNewControls(new Control[] {
								 tabControl1});
		groupBox2.setNewControls(new Control[] {
								 edit3, 
								 label3, 
								 edit2, 
								 label2, 
								 edit1, 
								 label1, 
								 button1});
		groupBox3.setNewControls(new Control[] {
								 button4, 
								 button3, 
								 label8, 
								 label7, 
								 label6, 
								 label5, 
								 label4});
		groupBox4.setNewControls(new Control[] {
								 comboBox2, 
								 comboBox1, 
								 button2, 
								 label10, 
								 label9});
		tabControl1.setNewControls(new Control[] {
								   tabPage3, 
								   tabPage1, 
								   tabPage4});
		tabPage1.setNewControls(new Control[] {
								panel1});
		tabPage3.setNewControls(new Control[] {
								panel3});
		tabPage4.setNewControls(new Control[] {
								panel4});
	}

	/**
	 * The main entry point for the application. 
	 *
	 * @param args Array of parameters passed to the application
	 * via the command line.
	 */
	public static void main(String args[])
	{
		Application.run(new mainform());
	}
}

⌨️ 快捷键说明

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