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

📄 aboutsystem.java

📁 植物仿真
💻 JAVA
字号:
package classes;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

//关于系统的说明类
public class AboutSystem extends JFrame implements ActionListener
{
	JButton ok=new JButton("确定");
	JTextArea text=new JTextArea();
	JPanel p_1=new JPanel();
	JPanel p_2=new JPanel();
	Container con=this.getContentPane();
	int x,y,w,h;
	String st;

	AboutSystem(String s,int state)
	{
		super(s);
		setSize(300,280);
		setResizable(false);
		text.setEditable(false);
		this.setBackground(Color.gray);
		text.setBackground(Color.blue);
		text.setForeground(Color.yellow);

		//L系统说明
		if(state==1)
		{
			st=   "     林氏系统(通常称L系统)是林德梅叶1968年为模拟\n";
			st=st+"生物形态而设计的,后来史密斯于1984年 、普鲁辛凯\n";
			st=st+"维奇于1986年,分别将它应用于计算机图形学,引起生\n";
			st=st+"物学界和计算机界人士极大兴趣,一时发表了许多论文\n";
			st=st+"和专著。L系统实际上是字符串重写系统。我们把字符\n";
			st=st+"串解释成曲线(或者更准确地说,称作图形), 于是只\n";
			st=st+"要能生成字符串,也就等于生成了图形。L系统的工作\n";
			st=st+"原理非常简单,仅仅是对几个简单的字符进行操作。\n";
			st=st+"L系统是一个简单由“F”,“+”,“-”等字符组成\n";
			st=st+"的字符串,串的形成前提是必须具备“种子”,并且\n";
			st=st+"按照一定的规则替换。母串中的字母“F”可以被子\n";
			st=st+"串替代,这样就完成了一次替换,依此类推,就可以\n";
			st=st+"完成L系统的迭代。";
		}

		//IFS系统说明
		if(state==2)
		{
			st=   "    迭代函数系统(IFS,简称迭代函数系统)方法是美\n";
			st=st+"国佐治亚理工学院的巴恩斯利教授首创的。IFS系统的\n";
			st=st+"理论与方法是分形自然景观模拟及分形图象压缩的理论\n";
			st=st+"基础,其基本思想是认为物体的全局和局部在仿射变换\n";
			st=st+"的意义下具有自相似结构,这就形成了著名的拼接定理\n";
			st=st+"    迭代函数系统的算法分为确定性算法和随机性算\n";
			st=st+"法。“确定性”指用以迭代的规则是确定性的,它们\n";
			st=st+"由一组仿射变换构成;“随机性”指迭代过程是不确\n";
			st=st+"定的,每一次究竟迭代哪一个规则不是预先定好的,\n";
			st=st+"而是随机的。也既是说,随机的从一组仿射变换中选\n";
			st=st+"一个迭代规则迭代一次,再从仿射变换中选一个迭代\n";
			st=st+"一次,依此类推,那么最终的生成图形是各个迭代规\n";
			st=st+"则的交集。\n";
		}


		text.setText(st);
		p_1.add(text);
		p_2.setLayout(new GridLayout(1,5));
		p_2.add(new Label());
		p_2.add(new Label());
		p_2.add(ok);
		p_2.add(new Label());
		p_2.add(new Label());

		con.add(p_1,"Center");
		con.add(p_2,"South");

		ok.addActionListener(this);
		addWindowListener(new WindowAdapter()
		{
			public void windowClosing(WindowEvent e)
			{setVisible(false);}
		});


		//获取默认的显示器尺寸
		Dimension d=Toolkit.getDefaultToolkit().getScreenSize();
		//设置窗体显示位置
		this.setLocation((d.getSize().width-this.getSize().width)/2,(d.getSize().height-this.getSize().height)/2);
		this.setVisible(true);
		pack();
	}

	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource()==ok)
		{
			this.setVisible(false);
		}
	}

}

⌨️ 快捷键说明

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