怎么编写自己小家庭的家谱?
编写自小家庭的家谱,至少可以记载前后五代。
你了解父母吗?你听过爷爷奶奶的故事吗?你知道他们的经历如何影响到你的人生吗?了解你祖辈的历史,有助于认识今天的你。追根溯源,记录现在,编写自己家庭的小家谱按照以下五个简单的步骤就可以了。
一、把知道的都写下来
关于家里,你记得什么,就都写下来,特别是出生、结婚、死亡的日期和地点,后者将在未来的实地调研中发挥重要作用。你或许还可以绘制简单的家族树。这将提醒你已经知道了什么,还想知道什么。
二、采访家人
现存的家族成员是知识的宝库。从父母以及他们的兄弟姐妹开始,然后如果可以,就再采访祖辈。如果祖辈还能记起他们的祖辈,那么你就有机会接触百年以上的家族历史了。在采访的时候,如果方便,你可以录音。这份资料,既有利于你未来的调研,也可以作为遗产传至后人。但要记着贴上标签,以便寻找。注意名字。还要记下别名、绰号,等等。一个故事,可能有不同的说法,要进行比较。要注意搜集“谣言”或者“模糊的回忆”。如果几个故事有逻辑吻合的地方,那可能就是真相。
三、寻找实物线索
翻翻抽屉和箱子,你可能会为自己的发现而感到惊奇。显而易见,诸如证书、表格之类的文件,可能会成为家族历史的砖石。这有可能了解到一段不为人所知的往事。留意其他家族遗物,例如日记本、信函。照片也是非常重要的道具。跟亲戚聊聊,看看他们能否辨认照片上的人物。记下名字,扫描照片,贴上标签。最后,也是最重要的,打听一下家人、亲戚和族人,是否有家谱。
四、绘制家族树
家族树是描绘祖先关系的地图。它可能花费时间,所以要肯付出才能有结果。拿出一张白纸,在页底写下你自己的名字,在上面为先辈们留出空白。你也可以使用电脑。如果你是已婚,配偶列在你的旁边。然后在你们下面添加孩子,并填上出生日期。上面是父母,再上面是祖辈,并且填上出生日期。你追溯的时候,直系祖辈的数量会翻倍——四位祖辈,八位曾祖辈,等等,加上他们的出生日期、结婚日期和死亡日期。
五、制定研究计划
记忆因时光变得模糊,所以验证非常重要。跟官方记录核对姓名和日期,常常都是不错的主意。现在可以查阅许多出生、结婚和死亡证书。你可以试着去本地档案馆、图书馆查询。户籍档案也是查询数据或者未知亲戚的方式。民国时期的户籍资料,一般存放在档案馆里。另外,在地方志馆,也可以通过查阅地方志和文史资料,了解祖辈的生活环境和可能经历的大事,运气好的话,还可以找到他们的名字和事迹。除了本地资源,网络资源、图书、杂志或者报纸,也可能提供实际的帮助。需要特别指出的是,图书馆里也收藏了大量的家谱和地方志。图书馆领导曾经讲过,有1/5的中国人其实是可以找到自己的家谱。
你也可以求助于本地或者祖籍地的宗亲会。他们也存有大量的家谱。
家谱的做法
一、拟定修家谱计划
1、版本:精装、平装、光碟、网络。
2、时间:完d成期限、工作时程。
3、预算:经费、人员。
4、范围:同宗、合族、家族。
5、工具:图表、问卷、电脑。
二、组织章程
组织委员、修谱大纲、责任分配、发凡起例。
三、筹集基金
一人负担、众人分摊、家族劝募、早请补助、公开销售组织内容大纲,制作世系图表、填写行实履历、撰写名人家传、考订姓氏渊源、记录迁徙过程、著录文艺著作、附录照片图版、其它次要内容。
四、资料分析
前修旧谱、相说族谱、族谱研究资料、研究与过滤资料、请教族谱专家。
五、寻找史料
家谱文献、世系资料、出生、过世登记证、户籍、除户登记资料、神龛祖先牌位、家庙晋主名册、祭祀公业章程、名册,墓碑文字、坟葬座落方位,讣文、疏文、功德薄,长辈口述记录,家传、年谱、纪念集,老照片、录音、录影资料,古文书、契约、证书,正史、方志,人名录、同学录,旧报纸、电话薄。
六、编辑内容
组织内容大纲、制作世图表、填写行实履历、撰写名人家传、考订姓氏渊源、记录迁徙过程、著录文艺
著作、附录照片图版、其它次要内容。
七、审定内容
专家审稿、多次校稿、最后完稿。
说明:最好有学者专家参与审订,审稿时一定要仔细,可以慢一些但要保持精准。
八、印刷出版
黑白或彩色、纸本或光碟、选定印刷厂、印制若干份、设家族网站。
九、领谱典藏
办祭谱活动,族人领族谱,寄存图书馆。
如何制作家谱?
1、电脑打开Word文档。
2、打开Word文档后,点击工具栏中的插入,然后选择智能图形。
3、进入选择图形页面,选择图形后,点击确定。
4、Word正文添加构造图之后,就可以输入名字世谱了。
5、如果表格不够,可以选中一个图标,点击右上角的添加,可以选中在上方或者下方添加项目。
怎么编写家谱?
一、序
序就类似于现在书的序,可以由族中得望高的人写,也可以由外人写。主要是通过另一个或另几个人的眼光来看待这本族谱。通常情况下,新序在前面,旧的序也要包含在内并排在新序后面。
二、简介
即使是对于自己的家族,能全面了解的人也不多,所以
需要首先简介一下自己家族,可提及的内容有:刻谱凡例、本族谱本次创修参与人员、时间、为什么要修订;此次编码的依据是什么;家族的整体情况、历史、迁移史、当前分布、人数;本族宗派、字辈,即记录每一代人起名规则;祖坟所在地、祖坟中各代分布图;对祖先事考查、考证。
总之,这里不具体到某一个人,只是对整个家族进行整体描述。
三、人物志
其实一本家谱本身就是人物记录,但通常情况下,家谱中会记录某一个或多个优秀的典型人物或团体。而记录这些优秀人物时,常常格式多样,有该人的传记、他写的文章书稿、获得过的功名、官名、、画像、碑记等。这里需要注意的是千万不能把同姓历史名人强编入本族谱,即使是小小提示也不可。因为后人续谱时,常常会因为这一次信以为真,而以讹传讹。
四、世系表
世系是家谱中最为重要的一项,最简单的家谱,有时只有一个世系表。
世系表是记录家族中每个人的关系,用计算机中的术语,这种一对多的结构是“树”状结构,但实际中的往往会比较复杂。当一个家族很大、人数很多时。会出现嗣出嗣入、迁入迁出的现象。
五、世略表
通常情况下,仅有世系表的家谱其实是没有实际意义的,面对一些不是名人的名字,除了这几个字,你还能知道什么呢一个好的办法就是增加世略表,世略表是记录世系表中每一个族人简历的表。这一部分可以和世系表合二为一,也可以单列。我认为单列更好,因为合二为一,常常导致世系表过肥过大,查找一个成员的时候非常麻烦。
很多家谱中,世略只写到父名、娶妻、生子数及名字数,这样写虽然整体看上去挺规范,实际上也没多大意义,因为世系表本身就可以表示这种信息。我认为世略不一定能做到每个人都有完整的简历,但至少应该有:本人生卒年月、主要职务、职称、主要生活工作地、本人工作简历、主要成绩、妻子姓名、妻子嫁出地、妻子父亲的名、妻子简历、子女名、女儿出嫁地、所嫁人姓名。这样不仅妻方家谱可以通过家谱查到本家族,本家族也可以通过自己家族查到女儿家族。
六、后记
后记写一些感想即可。
家谱如何族谱制作?
1、电脑打开Word文档。
2、打开Word文档后,点击工具栏中的插入,然后选择智能图形。
3、进入选择图形页面,选择图形后,点击确定。
4、Word正文添加构造图之后,就可以输入名字世谱了。
5、如果表格不够,可以选中一个图标,点击右上角的添加,可以选中在上方或者下方添加项目。
族谱的内容
一、写清楚姓氏源流。
意思就是同一族姓的来源、迁移等。中国上下五千年,渊源古老,如果没有家谱,后人就很难搞清楚。每套《家谱》都认清自己姓氏源流,这样才能世世代代承继,也能将族系根缘流传千百年。
二、写清楚堂号。
堂号名称一般取自于郡号名,或者是史祖自创。
一般来说,堂号多取自于郡号名,郡是秦、汉时期对行政区域的建置,郡号名又取自于郡名,或诸侯国名,地方府、州、县名。也有很多姓氏同为一个堂号的,比如:王,胡这两个姓的郡望都是“清河堂”。
自创的,例如:杨氏的“四知堂”寓意“天知、地知、我知、子知”的为人风范。很多重修家谱的情况,只能用自创堂号。
三、家训和家族的历史。
很多家谱中,都记录了许多治家教子的名言警句,流传到后世了,比如我们熟悉的颜氏家训、朱子治家格言等。
家谱怎么做?
1、电脑打开Word文档。
2、打开Word文档后,点击工具栏中的插入,然后选择智能图形。
3、进入选择图形页面,选择图形后,点击确定。
4、Word正文添加构造图之后,就可以输入名字世谱了。
5、如果表格不够,可以选中一个图标,点击右上角的添加,可以选中在上方或者下方添加项目。
家谱的作用:
家谱是一个巨大的资料宝库,可供从事社会学、历史学、考古学、经济学、民俗学、人口学、民族学、文学、政治学、宗教学、法学、姓氏学的研究人员从中查询资料,寻找依据,进行研究。家谱的作用主要有:
1、宗法思想研究资料。家谱和宗法的关系从一开始就密不可分。宗法制度是封建王朝维护其统治的重要基础之一,而家谱的族规、族约、家法、乡约等,正是加强宗法制度的有力工具。
2、家庭道德研究资料。族规、家规中保留了许多对我们当代极为有益的东西,如孝父母、和夫妇、勉讳书、尚节俭、戒赌博、戒*秽、戒懒惰、戒奢侈等,对我们建设现代家庭道德和精神文明都有很好看借鉴意义。
3、家族制度研究资料。家族制度是利用血缘关系统治族人的社会制度。在许多家谱中都有家族制度的极为详细的资料,如家族的组织系统、家族的财产管理、家族的赈济方法等,为我们研究家族在古代社会中的地位、作用、组织形式、管理方法等提供了丰富的资料。
4、经济史资料。家谱中保存有相当数量的经济史资料,这些资料包括家族的集体田产如祠田、坟田、庄田、山林等的数量、形成、经营、管理、收支情况等。有的家谱还记录了家庭成员经商、贸易的事迹。这都为我们研究古代经济史提供了很好的素材。
5、人口问题资料。家谱的中心部分是家族人口的世系传承,在家谱的“房派图”、“支派分布图”、“迁徙图”、“先世考”、“世系图”以及家谱的一些序跋中,记录了家族人口的数量、迁徙、分布、婚姻状况等资料,可提供人口学研究者使用。
6、历史人物传记。家谱是世系的记录,许多家谱中既有简单的世系,又有十分详细的传记、行状、墓志、年谱等,对研究历史人物及其家世大有帮助。
族谱制作方法及组成有知道的吗?
有三种制作方法:
1族内老人编纂
这个很好理解。找族内年龄比较大,对族内人员结构比较清楚地人来完善编修。
2电子书籍
想要做电子家谱通常是需要下载一个app进行家族人员信息的填写,最后自动生成为固定的家谱格式,听起来比较便捷省时,但弊端也存在。例如最主要的这两点:
电子家谱app的使用上比较复杂,修谱人大多年龄偏高,对手机功能不是很了解,研究很久研究不明白,最终还是选择了去专业家谱编印机构做传统纸质家谱。
电子家谱通常家谱格式为固定的几种,只能从其选择一种,并按照其格式要求进行填写信息,有些家庭可能不是很喜欢这些固定格式,或想要改变一些内容,都是实现不了的,最终,也是会选择专业家谱编印机构进行定制化的家谱排版。
3传统纸质家谱
听起来没有随着时代的发展而进步,但实际上传统纸质的家谱进步在细节,例如:
纸质,都知道宣纸印刷是最好的纸质保存材料,但古法宣纸制作出来很是不容易,但当今社会的进步,把宣纸的质量进行了升级,能够满足存放百年的需求。
排版,家谱排版方式可以根据家族人员需求,或信息资料的整理不同,进行排版格式的小改动,更人性化,更易于老师们的家谱资料收集整理工作。
服务,修家谱不是一件快速上手的事情,而是需要专业的知识指导,才能更顺利的开展家谱编印工作,传统纸质家谱印刷公司通常会提供免费的一对一编修指导服务,例如锦秋文谱|中原鉴志谱编印中心即是如此,服务这一点,是电子家谱做不到的。
以上综合,电子家谱和纸质家谱各有优缺点,个人比较倾向传统纸质家谱,纸质家谱更加庄重,比电子家谱更有仪式感,敬重感。当然,以上仅为个人观点,仅供参考。
家谱组成部分:
1、谱名、版次录
2、编修人员名录、家族照片
3、谱序、题词
4、凡例
5、谱论
6、祖先像赞、遗像、
7、目录
8、姓氏源流
9、恩荣录、碑文
10、历代修谱名录
11、祠堂、坟茔、郡望、堂号
12、字辈
13、世系图表
14、家风、家训、家规
15、传记、艺文、家族名贤录
16、风俗礼仪
17、契约、族产
18、家族文献、杂记
19、功德榜、事迹介绍
20、领谱字号
21、附记、后记、留余录
家谱是一种记录家族成员关系的重要文献,对于了解家族历史和传承家族文化有着重要的作用。制作家谱可以帮助我们更好地了解自己的家族背景和亲戚关系,也是一种传承和纪念家族的方式。下面将介绍一些简单的步骤,帮助您制作一份完整的家谱。
步骤一:收集资料
首先,您需要收集家族成员的相关资料。这包括姓名、出生日期、结婚日期、死亡日期等基本信息。您可以通过与亲戚交流、查看家族文献、访问家族墓地等方式来获取这些信息。此外,您还可以使用家谱软件或在线家谱网站来帮助您整理和记录这些资料。
步骤二:确定家谱格式
在制作家谱之前,您需要确定家谱的格式。家谱可以分为垂直家谱和水平家谱两种形式。垂直家谱是以一个人为中心,向上延伸记录祖先,向下延伸记录后代。水平家谱则是以一个特定的世代为中心,记录同一世代的家族成员。您可以根据自己的需求选择适合的格式。
步骤三:绘制家谱图
在确定了家谱格式之后,您可以开始绘制家谱图。您可以使用家谱软件或手工绘制。如果您选择手工绘制,可以使用大幅的纸张和绘图工具,如铅笔、直尺和曲线尺。首先,您可以在纸上画出一个中心点,代表您自己或者家族的祖先。然后,根据家谱格式,向上或向下延伸画出相应的线条,标注每个人的姓名和相关信息。
步骤四:完善家谱信息
在绘制家谱图的过程中,您可能会发现一些信息不完整或缺失。这时,您可以继续与亲戚交流,查阅家族文献,寻找更多的资料来完善家谱信息。您还可以添加照片、故事和其他相关的文献资料,使家谱更加丰富和有趣。
步骤五:保存和分享家谱
完成家谱之后,您可以选择将其保存在纸质或电子形式。如果您选择纸质形式,建议使用酸性纸张和耐久的装订材料,以确保家谱的保存时间更长久。如果您选择电子形式,可以将家谱保存在计算机、云端存储或家谱网站上。此外,您还可以将家谱分享给亲戚和其他感兴趣的人,让更多人了解和参与家族的历史。
家谱一般是用家族树来写的。
家谱的内容一般是家人的出生、结婚、死亡的日期和地点, 后者将在未来的实地调研中发挥重要作用等。还可以用思维导图的方式写。
家谱:又称族谱、宗谱等。是一种以表谱形式,记载一个家族的世系繁衍及重要人物事迹的书。家谱是一种特殊的文献,就其内容而言,是中华文明史中具有平民特色的文献,记载的是同宗共祖血缘集团世系人物和事迹等方面情况的历史图籍。据研究表明,中华古姓来源于图腾崇拜,系氏族徽号或标志。
/实验14—2 设计一个程序,采用二叉树表示一个家谱关系。要求程序具有如下功能:
(1) 文件操作功能:记录输入、记录输出,清除全部文件记录和将家谱记录存盘。
(2) 家谱操作功能:用括号表示法输出家谱二叉树,查找某人所有的儿子,查找某人所有的祖先。/
#include<iostreamh>
#include<stdlibh>
#include<stdioh>
#include<stringh>
typedef struct Node
{
int degree;//人员所在代数
char data;//人员标志
struct Node lchild;//data的孩子
struct Node rchild;//data的兄弟
}BTNode;
#define max 100
int choose;
char X;
void CreatBTNode(BTNode b,char str);//创建记录
BTNode SearchX(BTNode b,char X);//查找记录
void InputBTNode(BTNode b,char str);//1记录输入
void OutputBTNode(BTNode b,char str);//2记录输出
void Store(BTNode b,char str);//3家谱记录存盘
void DispTree(BTNode b);//4用括号法输出家谱
void SearchXSon(BTNode b,char X);//5查找某人的儿子
void SearchXAncestor(BTNode b,char X);//6查找某人的祖先
void Distory(BTNode b,char str);//7清除全部文件记录
int main()
{BTNode b=NULL;
char str=(char)malloc(maxsizeof(char));
str[0]='\0';
cout<<"--------------------------------------------------------------------"<<endl;
cout<<"0退出"<<endl;
cout<<"1记录输入:\t"<<endl;
cout<<"2记录输出:\t"<<endl;
cout<<"3家谱记录存盘:\t"<<endl;
cout<<"4用括号法输出家谱:\t"<<endl;
cout<<"5查找某人的儿子:\t"<<endl;
cout<<"6查找某人的祖先:\t"<<endl;
cout<<"7清除全部文件记录:\n"<<endl;
cout<<"-------------------------------------------------------------------"<<endl;
cout<<"Please choose the operation you want to do "<<endl;
cout<<"choose=";
cin>>choose;
while(choose)
{switch(choose)
{
case 1:
InputBTNode(&b,str);break;
case 2:
OutputBTNode(&b,str);break;
case 3:
Store(b,str);
printf("文件已经保存!");
break;
case 4:
DispTree(b); break;
case 5:
printf("请输入需要查找儿子的结点:");
cin>>X;
SearchXSon(b,X);
break;
case 6:
printf("请输入需要查找祖先的结点:\n");
cin>>X;
BTNode p;
p=SearchX(b,X);
if(p!=NULL)
SearchXAncestor(b,X);
else
printf("该结点不存在!");
break;
case 7:
Distory(&b,str);
printf("文件记录已经清除!");
break;
default:
cout<<endl<<"Invalid input,input again";
}
cout<<endl<<"please choose again:"<<endl;
cout<<"the choose =";
cin>>choose;
}
return 0;
}
void CreatBTNode(BTNode b,char str) //创建树
{
BTNode S[max],p=NULL;
int top=-1,tag,j=0,d=0;
char ch;
b=NULL;
ch=str[j];
while(ch!='\0')
{
switch(ch)
{
case '(':
d++;
top++;
S[top]=p;
tag=1;break;
case ')':
top--;break;
case ',':
d--;
tag=2;break;
default:
p=(BTNode )malloc(sizeof(BTNode));
p->degree=d;
p->data=ch;
p->lchild=NULL;
p->rchild=NULL;
if((b)==NULL)(b)=p;
else
{
switch(tag)
{
case 1: S[top]->lchild=p;break;
case 2: S[top]->rchild=p;break;
}
}
}
ch=str[++j];
}
}
void InputBTNode(BTNode b,char str)//记录输入
{
do
{
printf("请输入需要输入的记录:\n");
gets(str);
if(str[0]=='\0')
printf("输入的记录为空,请再次输入:\n");
}while(str[0]=='\0');
CreatBTNode(b,str);
printf("记录创建成功!");
}
void OutputBTNode(BTNode b,char str)//从文件中读出记录
{
FILE fp;
if((fp=fopen("wangljtxt","r"))==NULL)
{
printf("不存在记录文件,要建立吗\n建立请输入Y,否则按其他键:");
if(getchar()=='Y')
{
fp=fopen("wangljtxt","w+");
printf("记录文件“wangljtxt”已建立\n");
}
else
exit(1);
}
else
{
if(!feof(fp))
fscanf(fp,"%s",str);
fclose(fp);
CreatBTNode(b,str);
printf("文件中记录已输出\n");
}
}
void Store(BTNode b,char str)//储存全部的结点记录
{
BTNode p;
p=b;
FILE fp;
fp=fopen("wangljtxt","w+");
if(fp==NULL)
{
printf("文件打开失败!");
return;
}
else
{
if(p!=NULL)
{
fprintf(fp,"%s",str);
fclose(fp);
}
}
}
void DispTree(BTNode b)//用括号法输出家谱记录
{
if(b!=NULL)
{printf("%c",b->data);
if(b->lchild!=NULL||b->rchild!=NULL)
{printf("(");
DispTree(b->lchild);
if(b->rchild!=NULL)
{printf(",");
DispTree(b->rchild);
}
printf(")");
}
}
else
printf("\0");
}
BTNode SearchX(BTNode b,char X)//查找结点X
{BTNode p;
if(b==NULL) return NULL;
else if(b->data==X) return b;
else
{
p=SearchX(b->lchild,X);
if(p!=NULL) return p;
else
{
return SearchX(b->rchild,X);
}
}
}
void SearchXSon(BTNode b,char X)//查找结点X的所有儿子
{
BTNode p,q;
p=SearchX(b,X); //找到节点X
if(p!=NULL)
{
p=p->lchild;
if(p==NULL) //X没有孩子
printf("节点%c没有儿子!",X);
else
{
printf("节点%c的所有儿子为:",X);
if(p!=NULL)
printf("%c ",p->data);
q=p->rchild;
while(q)
{
printf("%c ",q->data);
q=q->rchild;
}
}
}
else
printf("该结点不存在!");
}
void TraverseBT(BTNode b,int d)//遍历家谱
{
if(b!=NULL)
if(b->degree<d)
{
printf("%c ",b->data);
if(b->lchild!=NULL)
TraverseBT(b->lchild,d);
if(b->rchild!=NULL)
TraverseBT(b->rchild,d);
}
}
void SearchXAncestor(BTNode b,char X)//查找结点X的所有祖先
{
if(b==NULL)
{
printf("这是一棵空树!");
return ;
}
BTNode p=SearchX(b,X);
if(p->degree==0)
{
printf("X为根节点或其兄弟,没有祖先!");
return;
}
printf("%c结点的祖先有:",X);
TraverseBT(b,p->degree);
}
void Distory(BTNode b,char str)//清除全部的记录
{
(b)=NULL;
FILE fp;
fp=fopen("wangljtxt","w");
if(fp==NULL)
{
printf("打开文件失败!");
exit(1);
}
str="";
fclose(fp);
}
你懂的,同道中人!
mport javaawtBorderLayout;
import javaawtDimension;
import javaawteventActionEvent;
import javaawteventActionListener;
import javautilRandom;
import javaxswingJButton;
import javaxswingJFrame;
import javaxswingJPanel;
import javaxswingJScrollPane;
import javaxswingJTree;
import javaxswingtreeDefaultMutableTreeNode;
public class Randomtree extends JFrame {
private JTree tree;
public static String[] school = { "初中课程", "高中课程", "大学课程" };
public static String[] color = { "颜色", "运动", "食物" };
public static String[] plant = { "植物", "动物", "人" };
public static String[][] school2= {
{ "初中一年级", "初中二年级", "初中三年级"}, {"高中一年级", "高中二年级",
"高中三年级"}, {"大学一年级", "大学二年级", "大学三年级", "大学四年级"} };
public static String[][] color2 = {
{ "绿色", "白色", "红色"}, {"足球", "篮球",
"羽毛球"}, {"面包", "牛奶", "披萨", "热狗"} };
public static String[][] plant2 = {
{ "玫瑰花", "月季花", "海棠花"}, {"猪", "狗",
"猫"}, {"黄种人", "黑种人", "白种人", } };
public static void main(String[] args) {
// TODO 自动生成方法存根
new Randomtree();
}
public Randomtree() {
super();
final Random random=new Random();
setVisible(true);
setSize(300,400);
tree = new JTree();
final JPanel panel = new JPanel();
panelsetPreferredSize(new Dimension(0, 40));
getContentPane()add(panel, BorderLayoutNORTH);
final JScrollPane scrollPane = new JScrollPane();
scrollPanesetPreferredSize(new Dimension(300, 350));
getContentPane()add(scrollPane, BorderLayoutCENTER);
final JButton button = new JButton();
buttonaddActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int k=randomnextInt(3);
tree=getTree(k);
scrollPanesetViewportView(tree);
}
});
scrollPanesetViewportView(null);
buttonsetText("随机生成树");
paneladd(button);
pack();
}
protected JTree getTree(int n) {
String[] second=null;
String[][] three=null;
if(n==0){second=school; three=school2;}
if(n==1){second=color; three=color2;}
if(n==2){second=plant; three=plant2;}
DefaultMutableTreeNode root=new DefaultMutableTreeNode("root");
for(int i=0;i<secondlength;i++){
DefaultMutableTreeNode secondNode=new DefaultMutableTreeNode(second[i]);
for (int j=0;j<three[i]length;j++){
DefaultMutableTreeNode threetNode=new DefaultMutableTreeNode(three[i][j]);
secondNodeadd(threetNode);
}
rootadd(secondNode);
}
JTree tree=new JTree(root);
treeexpandRow(1);
treeexpandRow(5);
treeexpandRow(9);
return tree;
}
}
简单的 例子你可以模仿一下
怎么编写自己小家庭的家谱?
本文2023-11-19 11:50:53发表“资讯”栏目。
本文链接:https://www.lezaizhuan.com/article/507590.html