Java课程设计报告_第1页
Java课程设计报告_第2页
Java课程设计报告_第3页
Java课程设计报告_第4页
Java课程设计报告_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java课程设计报告题 目 日历记事本 起讫日期 2009年7月6日 至 2009年7月17日所在院系 软 件 学 院 学生姓名 杨 建 专 业 土木+软件工程 班 级 06-3 学 号 10 指导教师 唐斌 职称 讲师 所在单位 软 件 学 院 2009年7月17日一、系统分析与设计1、本系统共包括六个Java源文件类之间的关系如图1.1所示。图1.1 类之间的关系2、Java源文件及其功能如表1.1所示。表1.1 文件清单序号文件名主要功能备注1时钟2创建日历记事本系统的“主窗口”包含main方法3创建记事本,给记事本加密4 增加农历功能5 Year.java 获取系统时间6 获取系统时间

2、二、系统实现1、主类CalendarPad(1)成员变量如表所示表 成员变量成员变量描述变量类型名称年,月,日,星期intyear,month,day,星期几哈希表Hashtablehashtable文件Filefile显示日期文本区JTextFieldshowDay题目标签JLabeltitle日历Calendar日历记事本NotePadnotepad对象改变月Month负责改变月对象改变年Year负责改变年星期字符串String星期面板JPanelleftPanel,rightPanel(2)方法如表所示表 方法名称功能备注CalendarPad 创建主窗口构造方法设置日历牌设置日历牌排列

3、号码排列星期几和月天数getYear获取年数setYear设置年数getMonth获取月数setMonth设置月数getDay获取月天数setDay设置月天数getWeek获取星期几getHashtable获取哈希表getFile获取文件mousePressed处理鼠标事件接口类mouseClicked mouseReleased mouseEntered mouseExited空方法空方法main(String args)程序开始入口方法(3)源文件CalendarPad.java如下给出。import java.util.Calendar;import javax.swing.*;impo

4、rt java.awt.*;import java.awt.event.*;import java.io.*;import java.util.Hashtable;public class CalendarPad extends JFrame implements MouseListener int year,month,day; Hashtable hashtable; File file; JTextField showDay; JLabel title; Calendar 日历; int 星期几; NotePad notepad=null; Month 负责改变月; Year 负责改变年

5、; String 星期=星期日,星期一,星期二,星期三,星期四,星期五,星期六; JPanel leftPanel,rightPanel; public CalendarPad(int year,int month,int day) leftPanel=new JPanel(); JPanel leftCenter=new JPanel(); JPanel leftNorth=new JPanel(); leftCenter.setLayout(new GridLayout(7,7); rightPanel=new JPanel(); this.year=year; this.month=mo

6、nth; this.day=day; 负责改变年=new Year(this); 负责改变年.setYear(year); 负责改变月=new Month(this); 负责改变月.setMonth(month); title=new JLabel7; showDay=new JTextField42; for(int j=0;j7;j+) titlej=new JLabel(); titlej.setText(星期j); titlej.setBorder(BorderFactory.createRaisedBevelBorder(); leftCenter.add(titlej); titl

7、e0.setForeground(Color.red); title6.setForeground(Color.blue); for(int i=0;i42;i+) showDayi=new JTextField(); showDayi.addMouseListener(this); showDayi.setEditable(false); leftCenter.add(showDayi); 日历=Calendar.getInstance(); Box box=Box.createHorizontalBox(); box.add(负责改变年); box.add(负责改变月); leftNort

8、h.add(box); leftPanel.setLayout(new BorderLayout();RTH); leftPanel.add(leftCenter,BorderLayout.CENTER); leftPanel.add(new Label(请在年份输入框输入所查年份(负数表示公元前),并回车确定), BorderLayout.SOUTH) ; leftPanel.validate(); Container con=getContentPane(); JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, left

9、Panel,rightPanel); con.add(split,BorderLayout.CENTER); con.validate(); hashtable=new Hashtable(); file=new File(日历记事本.txt); if(!file.exists() try FileOutputStream out=new FileOutputStream(file); ObjectOutputStream objectOut=new ObjectOutputStream(out); objectOut.writeObject(hashtable); objectOut.clo

10、se(); out.close(); catch(IOException e) notepad=new NotePad(this); rightPanel.add(notepad); 设置日历牌(year,month); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); setVisible(true); setBounds(100,50,700,300); validate(); public void 设置日历牌(int year,int mon

11、th) 日历.set(year,month-1,1); 星期几=日历.get(Calendar.DAY_OF_WEEK)-1; if(month=1|month=2|month=3|month=5|month=7 |month=8|month=10|month=12) 排列号码(星期几,31); else if(month=4|month=6|month=9|month=11) 排列号码(星期几,30); else if(month=2) if(year%4=0&year%100!=0)|(year%400=0) 排列号码(星期几,29); else 排列号码(星期几,28); public

12、void 排列号码(int 星期几,int 月天数) for(int i=星期几,n=1;i星期几+月天数;i+) showDayi.setText(+n); if(n=day) showDayi.setForeground(Color.green); showDayi.setFont(new Font(TimesRoman,Font.BOLD,20); else showDayi.setFont(new Font(TimesRoman,Font.BOLD,12); showDayi.setForeground(Color.black); if(i%7=6) showDayi.setForeg

13、round(Color.blue); if(i%7=0) showDayi.setForeground(Color.red); n+; for(int i=0;i星期几;i+) showDayi.setText(); for(int i=星期几+月天数;i42;i+) showDayi.setText(); public int getYear() return year; public void setYear(int y) year=y; notepad.setYear(year); public int getMonth() return month; public void setMo

14、nth(int m) month=m; notepad.setMonth(month); public int getDay() return day; public void setDay(int d) day=d; notepad.setDay(day); public int getWeek() return 星期几; public Hashtable getHashtable() return hashtable; public File getFile() return file; public void mousePressed(MouseEvent e) JTextField s

15、ource=(JTextField)e.getSource(); try day=Integer.parseInt(source.getText(); notepad.setDay(day); notepad.设置信息条(); notepad.设置文本区(null); notepad.获取日志内容(year,month,day); catch(Exception ee) public void mouseClicked(MouseEvent e) public void mouseReleased(MouseEvent e) public void mouseEntered(MouseEven

16、t e) public void mouseExited(MouseEvent e) public static void main(String args) Calendar calendar=Calendar.getInstance(); int y=calendar.get(Calendar.YEAR); int m=calendar.get(Calendar.MONTH)+1; int d=calendar.get(Calendar.DAY_OF_MONTH); new CalendarPad(y,m,d); 2、类Clock(1)成员变量如表所示表 成员变量成员变量描述变量类型名称类

17、中各种整型成员变量intx,y,x0,y0,r,h,olds_x,olds_y,oldm_x,oldm_y,oldh_x,oldh_y,ss,mm,hh,old_m,old_h,ang final doubleRAD(2)方法如表所示表 方法名称功能备注Clock创建Clock窗口构造方法actionPerformed空方法接口方法paint刻画时钟描述时钟的运行(3)源文件Clock.java如下列出。import javax.swing.*;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;impo

18、rt java.awt.*;import java.util.Calendar;import java.util.GregorianCalendar;class Clock extends JFrame implements ActionListener int x,y,x0,y0,r,h,olds_x,olds_y,oldm_x,oldm_y,oldh_x,oldh_y,ss,mm,hh,old_m,old_h,ang; final double RAD=Math.PI/180; public Clock() super(现在时间); setDefaultCloseOperation(3);

19、 setSize(200,200); setBackground(Color.BLACK); setLocation(50,150); setResizable(false); setVisible(true); int delay = 1000; ActionListener drawClock = new ActionListener() public void actionPerformed(ActionEvent evt) repaint(); ; new Timer(delay,drawClock).start(); public void actionPerformed(Actio

20、nEvent e) public void paint(Graphics g) Graphics2D g2D = (Graphics2D)g; Insets insets = getInsets(); int L = insets.left/2,T = insets.top/2; h = getSize().height; g.setColor(Color.white); g2D.setStroke(new BasicStroke(); g.drawOval(L+40,T+40,h-80,h-80); r=h/2-40; x0=40+r-5+L; y0=40+r-5-T; ang=60; fo

21、r(int i=1;i=12;i+) x=(int)(r+10)*Math.cos(RAD*ang)+x0); y=(int)(r+10)*Math.sin(RAD*ang)+y0); g.drawString(+i,x,h-y); ang-=30; Calendar now= new GregorianCalendar(); int nowh= now.get(Calendar.HOUR_OF_DAY); int nowm= now.get(Calendar.MINUTE); int nows= now.get(Calendar.SECOND); String st; if(nowh10)

22、st=0+nowh;else st=+nowh; if(nowm10) st+=:0+nowm;else st+=:+nowm; if(nows0) g.setColor(getBackground(); g.drawLine(x0,y0,olds_x,h-olds_y); else old_m = mm; old_h = hh; x=(int)(r*0.9*Math.cos(RAD*ss)+x0; y=(int)(r*0.9*Math.sin(RAD*ss)+y0-2*T; g.setColor(Color.yellow); g.drawLine(x0,y0,x,h-y); olds_x=x

23、; olds_y=y; g2D.setStroke(new BasicStroke(); if(old_m!=mm) g.setColor(getBackground(); g.drawLine(x0,y0,oldm_x,h-oldm_y); x=(int)(r*0.7*Math.cos(RAD*mm)+x0; y=(int)(r*0.7*Math.sin(RAD*mm)+y0-2*T; g.setColor(Color.green); g.drawLine(x0,y0,x,h-y); oldm_x=x; oldm_y=y; old_m=mm; g2D.setStroke(new BasicS

24、troke(); if(old_h!=hh) g.setColor(getBackground(); g.drawLine(x0,y0,oldh_x,h-oldh_y); x=(int)(r*0.5*Math.cos(RAD*hh)+x0; y=(int)(r*0.5*Math.sin(RAD*hh)+y0-2*T; g.setColor(Color.red); g.drawLine(x0,y0,x,h-y); oldh_x=x; oldh_y=y; old_h=hh; 3类NotePad(1)成员变量如表示表2.5员变量成员变量描述变量类型名称文本区JTextAreatext按钮 JButt

25、on保存日志,删除日志,加密哈希表Hashtabletable标签JLabel 信息条年,月,日int year,month,day文件Filefile对象作变量CalendarPadcalendar下拉列表Choicechoice; choices;(2)方法如表示表 方法名称功能备注NotePad创建记事本构造方法itemStateChanged处理ItemEvent事件接口方法actionPerformed处理ActionEvent事件 接口方法(3)源文件Note.java,如下import java.awt.*;import java.awt.event.*;import java.

26、util.*;import javax.swing.*;import javax.swing.event.*;import java.io.*;public class NotePad extends JPanel implements ActionListener,ItemListener JTextArea text; JButton 保存日志,删除日志,加密; Hashtable table; JLabel 信息条; int year,month,day; File file; CalendarPad calendar;Choice choice; Choice choices; pub

27、lic NotePad(CalendarPad calendar) NongLi nongli=new NongLi(); String T=nongli.shower(calendar); this.calendar=calendar; year=calendar.getYear(); month=calendar.getMonth(); day=calendar.getDay(); table=calendar.getHashtable(); file=calendar.getFile(); 信息条=new JLabel(T,JLabel.CENTER); 信息条.setFont(new

28、Font(TimesRoman,Font.BOLD,16); 信息条.setForeground(Color.blue); text=new JTextArea(10,10); choice=new Choice(); choice.add(白色); choice.add(红色); choice.add(粉红色); choice.add(桔黄色); choice.add(绿色); choice.add(蓝色);choice.addItemListener(this);choices=new Choice(); choices.add(隶书); choices.add(TimenRoman);

29、choices.addItemListener(this); 保存日志=new JButton(保存日志) ; 删除日志=new JButton(删除日志) ; 加密=new JButton(加密) ; 保存日志.addActionListener(this); 删除日志.addActionListener(this); 加密.addActionListener(this); setLayout(new BorderLayout(); JPanel pSouth=new JPanel(); add(信息条,BorderLayout.NORTH); pSouth.add(保存日志); pSout

30、h.add(删除日志); pSouth.add(加密); pSouth.add(choices); pSouth.add(choice); add(pSouth,BorderLayout.SOUTH); add(new JScrollPane(text),BorderLayout.CENTER); public void itemStateChanged(ItemEvent e)if(e.getSource()=choice) int name=choice.getSelectedIndex(); switch(name) case 0:text.setBackground(Color.whi

31、te);break; case 1:text.setBackground(Color.red);break; case 2:text.setBackground(Color.pink);break; case 3:text.setBackground(Color.orange);break; case 4:text.setBackground(Color.green);break; case 5:text.setBackground(Color.blue);break; else if(e.getSource()=choices) int name=choices.getSelectedInd

32、ex(); switch(name) case 0:text.setFont(new Font(隶书,Font.BOLD,20);break; case 1:text.setFont(new Font(TimesRoman,Font.BOLD,20);break; public void actionPerformed(ActionEvent e) if(e.getSource()=保存日志) 保存日志(year,month,day); else if(e.getSource()=删除日志) 删除日志(year,month,day); else if(e.getSource()=加密) Str

33、ing word=text.getText(); char a=word.toCharArray(); int n=0; for(int i=0;i0 x8; i=1) if (lunarInfoy-1900 & i)!=0) sum+=1; return(sum+leapDays(y);final public static int leapDays(int y)/= 传回农历 y年闰月的天数 if(leapMonth(y)!=0) if (lunarInfoy-1900 & 0 x10000)!=0) return 30; else return 29; else return 0;fin

34、al public static int leapMonth(int y)/= 传回农历 y年闰哪个月 1-12 , 没闰传回 0 return (int)(lunarInfoy-1900 & 0 xf);final public static int monthDays(int y,int m)/= 传回农历 y年m月的总天数 if (lunarInfoy-1900 & (0 x10000m)=0) return 29; else return 30;final public static String AnimalsYear(int y)/= 传回农历 y年的生肖 final String

35、 Animals=new String 鼠,牛,虎,兔,龙,蛇,马,羊,猴,鸡,狗,猪; return Animals(y-4)%12;final public static String cyclicalm(int num)/= 传入 月日的offset 传回干支, 0=甲子 final String Gan=new String 甲,乙,丙,丁,戊,己,庚,辛,壬,癸; final String Zhi=new String 子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥; return (Gannum%10+Zhinum%12);final public static String cy

36、clical(int y)/= 传入 offset 传回干支, 0=甲子 int num=y-1900+36; return (cyclicalm(num);final public long Lunar(int y,int m)/传出农历.year0 .month1 .day2 .yearCyl3 .monCyl4 / .dayCyl5 .isLeap6 final int year20=new int1,4,1,2,1,2,1,1,2,1,2,1; final int year19=new int0,3,0,1,0,1,0,0,1,0,1,0; final int year2000=new

37、 int0,3,1,2,1,2,1,1,2,1,2,1; long nongDate = new long7; int i=0,temp=0,leap=0; Date baseDate =new Date(1900,1,31); Date objDate =new Date(y,m,1); long offset = (objDate.getTime()-baseDate.getTime()/86400000L; if (y2000) offset+=year20m-1; if (y=2000) offset+=year2000m-1; nongDate5 = offset + 40; non

38、gDate4 = 14; for(i=1900; i0; i+) temp = lYearDays(i); offset -= temp; nongDate4 += 12; if(offset0) offset += temp; i-; nongDate4 -= 12; nongDate0 = i; nongDate3 = i-1864; leap = leapMonth(i); /闰哪个月 nongDate6 = 0; for(i=1; i0; i+) /闰月 if(leap0 & i=(leap+1) & nongDate6=0) -i; nongDate6 = 1; temp = lea

39、pDays(int) nongDate0); else temp = monthDays(int) nongDate0,i); /解除闰月 if(nongDate6=1 & i=(leap+1) nongDate6 = 0; offset -= temp; if(nongDate6 = 0) nongDate4 +; if(offset=0 & leap0 & i=leap+1) if(nongDate6=1) nongDate6 = 0; else nongDate6 = 1; -i; -nongDate4; if(offset0) offset += temp; -i; -nongDate

40、4; nongDate1 = i; nongDate2 = offset + 1; return nongDate;final public static long calElement(int y,int m,int d)/传出y年m月d日对应的农历.year0 .month1 .day2 .yearCyl3 .monCyl4 .dayCyl5 .isLeap6 long nongDate = new long7; int i=0,temp=0,leap=0; Date baseDate = new Date(0,0,31); Date objDate = new Date(y-1900,m

41、-1,d); long offset = (objDate.getTime()-baseDate.getTime()/86400000L; nongDate5 = offset + 40; nongDate4 = 14; for(i=1900; i0; i+) temp = lYearDays(i); offset -= temp; nongDate4 += 12; if(offset0) offset += temp; i-; nongDate4 -= 12; nongDate0 = i; nongDate3 = i-1864; leap = leapMonth(i); /闰哪个月 nong

42、Date6 = 0; for(i=1; i0; i+) /闰月 if(leap0 & i=(leap+1) & nongDate6=0) -i; nongDate6 = 1; temp = leapDays(int)nongDate0); else temp = monthDays(int)nongDate0,i); /解除闰月 if(nongDate6=1 & i=(leap+1) nongDate6 = 0; offset -= temp; if(nongDate6 = 0) nongDate4 +; if(offset=0 & leap0 & i=leap+1) if(nongDate6

43、=1) nongDate6 = 0; else nongDate6 = 1; -i; -nongDate4; if(offset0) offset += temp; -i; -nongDate4; nongDate1 = i; nongDate2 = offset + 1; return nongDate; public static String getchina(int day) String a = ; if(day=10) return 初十; int two = (int)(day)/10); if(two=0) a = 初; if(two=1) a = 十; if(two=2) a

44、 = 廿; if(two=2) a = 卅; int one = (int)(day%10); switch(one) case 1:a += 一;break; case 2:a += 二;break; case 3:a += 三;break; case 4:a += 四;break; case 5:a += 五;break; case 6:a += 六;break; case 7:a += 七;break; case 8:a += 八;break; case 9:a += 九;break; return a; /传出y年m月d日对应的农历.year0 .month1 .day2 .yearC

45、yl3 .monCyl4 .dayCyl5 .isLeap6 public static String shower(CalendarPad Calend) String b=b; int year = Calend.getYear(); int month = Calend.getMonth()+1; int day = Calend.getDay(); String week = ; long l = calElement(year,month,day); switch(Calend.getWeek() case 1:week = 日;break; case 2:week = 一;brea

46、k; case 3:week = 二;break; case 4:week = 三;break; case 5:week = 四;break; case 6:week = 五;break; case 7:week = 六;break; String n = ; switch(int)(l1) case 1:n=一;break; case 2:n=二;break; case 3:n=三;break; case 4:n=四;break; case 5:n=五;break; case 6:n=六;break; case 7:n=七;break; case 8:n=八;break; case 9:n=

47、九;break; case 10:n=十;break; case 11:n=十一;break; case 12:n=十二;break; try b = 北京时间: +year+年+month+月+day+日星期+week+农历+n+月+getchina(int)(l2); BufferedWriter outout = new BufferedWriter(new FileWriter(rili.html,false); outout.close(); catch (Exception e) e.printStackTrace(); return b; 5、类Month表2.9 成员变量成员变

48、量描述变量类型名称整型成员变量intmonth,m显示月数JTextFieldshowMonth按钮JButton下月,上月,button对象做变量CalendarPad日历对象做变量Clockclock名称功能备注Month创建月的对象构造方法setMonth设置月getMonth获取月 actionPerformed处理ActionEvent事件 接口方法(3)源文件import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Month extends Box implements ActionLi

49、stener int month; int m=0; JTextField showMonth=null; JButton 下月,上月,button; CalendarPad 日历; Clock clock=new Clock(); public Month(CalendarPad 日历) super(BoxLayout.X_AXIS); this.日历=日历; showMonth=new JTextField(2); month=日历.getMonth(); showMonth.setEditable(false); showMonth.setForeground(Color.blue);

50、showMonth.setFont(new Font(TimesRomn,Font.BOLD,16); 下月=new JButton(下月); 上月=new JButton(上月); button=new JButton(时钟关); add(上月); add(showMonth); add(下月); add(button); 上月.addActionListener(this); 下月.addActionListener(this); button.addActionListener(this); showMonth.setText(+month); public void setMonth(

51、int month) if(month=1) this.month=month; else this.month=1; showMonth.setText(+month); public int getMonth() return month; public void actionPerformed(ActionEvent e) if(e.getSource()=上月) if(month=2) month=month-1; 日历.setMonth(month); 日历.设置日历牌(日历.getYear(),month); else if(month=1) month=12; 日历.setMon

52、th(month); 日历.设置日历牌(日历.getYear(),month); showMonth.setText(+month); else if(e.getSource()=下月) if(month12) month=month+1; 日历.setMonth(month); 日历.设置日历牌(日历.getYear(),month); else if(month=12) month=1; 日历.setMonth(month); 日历.设置日历牌(日历.getYear(),month); showMonth.setText(+month); else if(e.getSource()=but

53、ton) int n; n=m%2; if(n=0) clock.removeNotify(); button.setLabel(时钟开); else clock.addNotify(); button.setLabel(时钟关); m+; 6类Year表2.10 成员变量成员变量描述变量类型名称年数intyear显示年数的文本域JTextFieldshowYear按钮JButton明年,去年对象做变量CalendarPad日历(1)成员变量如名称功能备注Year 创建YearBOX构造方法setYear设置年getYear获取年actionPerformed处理ActionEvent事件接口

54、方法(3)源文件Year.java如下给出。import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Year extends Box implements ActionListener int year; JTextField showYear=null; JButton 明年,去年; CalendarPad 日历; public Year(CalendarPad 日历) super(BoxLayout.X_AXIS); showYear=new JTextField(4); showYear.se

55、tForeground(Color.blue); showYear.setFont(new Font(TimesRomn,Font.BOLD,14); this.日历=日历; year=日历.getYear(); 明年=new JButton(下年); 去年=new JButton(上年); add(去年); add(showYear); add(明年); showYear.addActionListener(this); 去年.addActionListener(this); 明年.addActionListener(this); public void setYear(int year)

56、this.year=year; showYear.setText(+year); public int getYear() return year; public void actionPerformed(ActionEvent e) if(e.getSource()=去年) year=year-1; showYear.setText(+year); 日历.setYear(year); 日历.设置日历牌(year,日历.getMonth(); else if(e.getSource()=明年) year=year+1; showYear.setText(+year); 日历.setYear(y

57、ear); 日历.设置日历牌(year,日历.getMonth(); else if(e.getSource()=showYear) try year=Integer.parseInt(showYear.getText(); showYear.setText(+year); 日历.setYear(year); 日历.设置日历牌(year,日历.getMonth(); catch(NumberFormatException ee) showYear.setText(+year); 日历.setYear(year); 日历.设置日历牌(year,日历.getMonth(); 三、系统测试图3.1运

58、行CalendarPad类 可得出此效果图。图3.2点中间上部时钟开关,关闭时钟。图3.3 在文本去输入日程安排图3.4 点下拉选项改变字体和背景颜色图3.5 点加密可对记录内容进行加密处理图3.6 点日期可显示当天的农历四、工作总结Java课程设计这两周来,通过对所选java题目程序的详细分析和更改,受益匪浅.让我了解到了Java更多的实用功能,也了解到了自己学习结合实践的不足.实用的软件理论,技术与方法才是我们学习的最终目的,应该有更多的时间花在实践环节,也希望学校以后能安排更多的实验性课程,不至于让理论成为白字,为以后的工作打好基础.这次课程设计我们是三人组进行的,让我感受到了团队的力量,团队智慧的结晶才能取得好的成绩.当团队有了一个共同的奋斗目标的时候,就能做的好.彼此亦师亦友,博采众长,才能获得新的知识. 玺噱锥汰葡柔促汞

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论