




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机学院信管07级JAVA程序设计报告JAVA语言课程设计报告题目:记事本的制作设计者:刘兴钢专业班级:信管07—班学号:310709030218指导教师:申艳梅2010年12月24日河南理工大学计算机学院目录1、系统需求分析 32.系统总体设计 33系统详细设计 54软件测试 135系统总结 136系统设计心得体会 137参考文献 131、系统需求分析1.1系统名称:Window记事本1.2系统介绍:开发一个window记事本,主要有一个主界面及以下功能:1:文件的新建,打开,保存,打印,另存等;2:对文件的编辑,如全选,复制,剪切,粘贴等;3:对文件的格式操作,如自动换行,字体等;4:帮助,包括帮助主题,关于。1.3开发环境Eclipse2.系统总体设计2.1系统功能结构图开始开始文件编辑格式帮助输入文字2.2系统文件结构图开始开始文件新建打开保存另存为页面设置打印退出2.3系统编辑结构图开始开始编辑撤销剪切复制粘贴查找替换全选时间2.4系统格式、帮助结构图开始开始格式帮助自动换行设置字体帮助主题关于3系统详细设计3.1.主界面主界面主要是用于对选择相应的功能进行相应的功能,主界面主要包括文件,编辑,格式,帮助四个下拉菜单功能。重要代码:=1\*GB3①创建界面,安装各种监听器publicNotebook(){setTitle("记事本--刘兴钢");con=getContentPane();text=newJTextArea();JSPane=newJScrollPane(text);createMenu();createPopupMenu();setJMenuBar(mainMenuBar);con.add(JSPane,BorderLayout.CENTER);text.setComponentPopupMenu(popMenu);text.getDocument().addDocumentListener(this);text.addKeyListener(newhandleKey());text.addMouseListener(newhandleMouse());setSize(400,300);setVisible(true);=2\*GB3②菜单代码publicvoidcreateMenu(){//创建JMenuBarmainMenuBar=newJMenuBar();//创建四个JMenufileMenu=newJMenu("文件");editMenu=newJMenu("编辑");formatMenu=newJMenu("格式");helpMenu=newJMenu("帮助");3.2.字体设计界面主要代码importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;importjava.awt.*;publicclassfontDialogextendsJDialogimplementsActionListener,ListSelectionListener{publicstaticfinalintCancle=0;publicstaticfinalintOK=1;publicstaticfinalString[]style={"正常","斜体","粗体","粗斜体"};publicstaticfinalString[]size={"8","9","10","11","12","14","16","18","20","22","24","26","28","36","48","72"};privateFontuserFont=null;privateintuserSelect=Cancle;privateJFrameparent=null;privateContainercon;privateJScrollPanenameSPane,styleSPane,sizeSPane;privateJPanelpanel[];privateJLabelnameLbl,styleLbl,sizeLbl;privateJTextFieldnameText,styleText,sizeText;privateJListnameList,styleList,sizeList;privateJButtonOKBtn,cancleBtn;publicfontDialog(){this(null);}publicfontDialog(JFrameowner){super(owner,true);parent=owner;setTitle("字体");con=getContentPane();BoxLayoutbox=newBoxLayout(con,BoxLayout.Y_AXIS);con.setLayout(box);panel=newJPanel[4];for(inti=0;i<3;i++){panel[i]=newJPanel();panel[i].setLayout(newGridLayout(1,3));}panel[3]=newJPanel();panel[3].setLayout(newFlowLayout());nameLbl=newJLabel("字体");styleLbl=newJLabel("字形");sizeLbl=newJLabel("大小");panel[0].add(nameLbl);panel[0].add(styleLbl);panel[0].add(sizeLbl);nameText=newJTextField("宋体");nameText.setColumns(5);nameText.setEditable(false);styleText=newJTextField("正常");styleText.setColumns(5);styleText.setEditable(false);sizeText=newJTextField("12");sizeText.setColumns(5);sizeText.setEditable(false);panel[1].add(nameText);panel[1].add(styleText);panel[1].add(sizeText);GraphicsEnvironmenteq=GraphicsEnvironment.getLocalGraphicsEnvironment();String[]availableFonts=eq.getAvailableFontFamilyNames();nameList=newJList(availableFonts);nameList.addListSelectionListener(this);nameSPane=newJScrollPane(nameList);styleList=newJList(style);styleList.addListSelectionListener(this);styleSPane=newJScrollPane(styleList);sizeList=newJList(size);sizeList.addListSelectionListener(this);sizeSPane=newJScrollPane(sizeList);panel[2].add(nameSPane);panel[2].add(styleSPane);panel[2].add(sizeSPane);OKBtn=newJButton("确定");OKBtn.addActionListener(this);cancleBtn=newJButton("取消");cancleBtn.addActionListener(this);panel[3].add(OKBtn);panel[3].add(cancleBtn);for(inti=0;i<4;i++)con.add(panel[i]);}publicintshowFontDialog(){setSize(300,300);intx,y;if(parent!=null){x=parent.getX()+30;y=parent.getY()+30;}else{x=150;y=100;}setLocation(newPoint(x,y));setVisible(true);returnuserSelect;}publicFontgetFont(){returnuserFont;}publicvoidactionPerformed(ActionEvente){intstyleIndex=Font.PLAIN,fontSize;if(e.getSource()==OKBtn){if(styleText.getText().equals("正常"))styleIndex=Font.PLAIN;if(styleText.getText().equals("斜体"))styleIndex=Font.ITALIC;if(styleText.getText().equals("粗体"))styleIndex=Font.BOLD;if(styleText.getText().equals("粗斜体"))styleIndex=Font.BOLD|Font.ITALIC;fontSize=Integer.parseInt(sizeText.getText());userFont=newFont(nameText.getText(),styleIndex,fontSize);userSelect=OK;setVisible(false);}else{userSelect=Cancle;setVisible(false);}}publicvoidvalueChanged(ListSelectionEvente){if(e.getSource()==nameList)nameText.setText((String)nameList.getSelectedValue());if(e.getSource()==styleList)styleText.setText((String)styleList.getSelectedValue());if(e.getSource()==sizeList)sizeText.setText((String)sizeList.getSelectedValue());}}3.3.保存界面代码intdoSave(){FileOutputStreamfout;bytecontent[];intflag;if(!haveName){flag=doSaveAs();}elseif(changed){try{fout=newFileOutputStream(file);content=text.getText().getBytes();fout.write(content);fout.close();changed=false;flag=1;}catch(FileNotFoundExceptione){JOptionPane.showMessageDialog(this,"指定的文件名称或属性有问题!");flag=0;}catch(IOExceptione){JOptionPane.showMessageDialog(this,"无法写文件,请检查文件是否被锁定");flag=0;}}else{flag=1;}returnflag;}3.4.打印设计界面代码如下:voiddoPrint(){try{PrintRequestAttributeSetpras=newHashPrintRequestAttributeSet();DocFlavorflavor=DocFlavor.BYTE_ARRAY.AUTOSENSE;PrintServiceprintService[]=PrintServiceLookup.lookupPrintServices(flavor,pras);PrintServicedefaultService=PrintServiceLookup.lookupDefaultPrintService();PrintServiceservice=null;service=ServiceUI.printDialog(null,100,100,printService,defaultService,flavor,pras);if(service!=null){DocPrintJobjob=service.createPrintJob();DocAttributeSetdas=newHashDocAttributeSet();Docdoc=newSimpleDoc(text.getText().getBytes(),flavor,das);job.print(doc,pras);//进行文件的打印}}catch(Exceptione){JOptionPane.showMessageDialog(this,"打印任务无法完成");}}3.5.查找设计界面代码如下:publicfindDialog(JFrameowner,JTextAreaJtext){ super(owner,false); start=0; text=Jtext; panel1=newJPanel(); panel1.setLayout(newFlowLayout()); panel2=newJPanel(); panel2.setLayout(newFlowLayout()); label1=newJLabel("查找内容"); findEdit=newJTextField(12); OKBtn=newJButton("查找下一个"); OKBtn.addActionListener(this); panel1.add(label1); panel1.add(findEdit); panel1.add(OKBtn); checkBox=newJCheckBox("区分大小写"); checkBox.setSelected(true); upBtn=newJRadioButton("向上"); downBtn=newJRadioButton("向下",true); dirBtnGroup=newButtonGroup(); dirBtnGroup.add(upBtn); dirBtnGroup.add(downBtn); CancleBtn=newJButton("取消"); CancleBtn.addActionListener(this); panel2.add(checkBox); panel2.add(upBtn); panel2.add(downBtn); panel2.add(CancleBtn); con=getContentPane(); con.setLayout(newFlowLayout()); con.add(panel1); con.add(panel2); setTitle("查找"); setSize(300,120); setVisible(true); }4软件测试软件测试成功5系统总结总体来说,本次项目在规定期间顺利完成,记事本能够完成文件的编辑、保存、剪切,复制、查询、自动换行,字体设计和打印和页面设计等的相应功能。6系统设计心得体会经过一个星期的我的记事本的课程设计,我在老师及同学的指导帮助下,顺利完成该课程设计。通过该课程设计,收获颇多。首先,让我加深了对Java语言的理论知识的理解;其次,让我更加熟练的掌握了Java语言的设计能力并且有了实践经验;再次,在设计过程中,学到了老师没有在课堂上没有教授的知识;最后,加强了我对Java语言的学习兴趣和好感。7参考文献[1]耿详义,张跃平.Java2实用教程.北京:清华大学出版社,2004.2[2]张利国.Java实用教程案例.北京:清华大学出版社,2003.10[3]周晓聪,等.面向对象程序设计与Java语言.北京:机械工业出版社,2004.3[4]李尊朝.Java语言程序设计.北京:中国铁道出版社,2004.2[5](美)PhilipHeller.ComplateJava2CertificationStudyGuideFourthEdition(Java2证学习指南)(第四版英文版).北京:电子工业出版社,2004.1附录:程序清单importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.io.*;importjavax.swing.event.*;importjavax.print.*;importjavax.print.attribute.*;importjava.util.*;importjava.text.*;publicclassNotebookextendsJFrameimplementsActionListener,DocumentListener{Containercon;JScrollPaneJSPane;JTextAreatext;JMenuBarmainMenuBar;JMenufileMenu,editMenu,formatMenu,helpMenu;JMenuItemnewItem,openItem,saveItem,saveasItem,pageItem,printItem,exitItem;JMenuItemundoItem,cutItem,copyItem,pasteItem,findItem,replaceItem,selectallItem,dateItem;JCheckBoxMenuItemwrapItem;JMenuItemfontItem;JMenuItemhelpItem,aboutItem;JPopupMenupopMenu;fontDialogmyFontDialog=null;booleanchanged=false;booleanhaveName=false;Filefile=null;//主程序入口publicstaticvoidmain(String[]args){newNotebook();}//创建界面、安装各种监听器、publicNotebook(){setTitle("记事本--刘兴钢");con=getContentPane();text=newJTextArea();JSPane=newJScrollPane(text);createMenu();createPopupMenu();setJMenuBar(mainMenuBar);con.add(JSPane,BorderLayout.CENTER);text.setComponentPopupMenu(popMenu);text.getDocument().addDocumentListener(this);text.addKeyListener(newhandleKey());text.addMouseListener(newhandleMouse());setSize(400,300);setVisible(true);}//创建主菜单publicvoidcreateMenu(){//创建JMenuBarmainMenuBar=newJMenuBar();//创建四个JMenufileMenu=newJMenu("文件");editMenu=newJMenu("编辑");formatMenu=newJMenu("格式");helpMenu=newJMenu("帮助");//创建JMenuItem并添加到对应的JMenu中mainMenuBar.add(fileMenu);newItem=newJMenuItem("新建");openItem=newJMenuItem("打开..");saveItem=newJMenuItem("保存..");saveasItem=newJMenuItem("另存为..");pageItem=newJMenuItem("页面设置..");printItem=newJMenuItem("打印..");exitItem=newJMenuItem("退出");fileMenu.add(newItem);fileMenu.add(openItem);fileMenu.add(saveItem);fileMenu.add(saveasItem);fileMenu.addSeparator();fileMenu.add(pageItem);fileMenu.add(printItem);fileMenu.addSeparator();fileMenu.add(exitItem);mainMenuBar.add(editMenu);undoItem=newJMenuItem("撤消");cutItem=newJMenuItem("剪切");copyItem=newJMenuItem("复制");pasteItem=newJMenuItem("粘贴");findItem=newJMenuItem("查找..");replaceItem=newJMenuItem("替换..");selectallItem=newJMenuItem("全选");dateItem=newJMenuItem("时间/日期");editMenu.add(undoItem);editMenu.addSeparator();editMenu.add(cutItem);editMenu.add(copyItem);editMenu.add(pasteItem);editMenu.addSeparator();editMenu.add(findItem);editMenu.add(replaceItem);editMenu.addSeparator();editMenu.add(selectallItem);editMenu.add(dateItem);mainMenuBar.add(formatMenu);wrapItem=newJCheckBoxMenuItem("自动换行");fontItem=newJMenuItem("设置字体..");formatMenu.add(wrapItem);formatMenu.add(fontItem);mainMenuBar.add(helpMenu);helpItem=newJMenuItem("帮助主题");aboutItem=newJMenuItem("关于..");helpMenu.add(helpItem);helpMenu.add(aboutItem);exitItem.addActionListener(this);saveItem.addActionListener(this);saveasItem.addActionListener(this);newItem.addActionListener(this);printItem.addActionListener(this);openItem.addActionListener(this);cutItem.addActionListener(this);copyItem.addActionListener(this);pasteItem.addActionListener(this);selectallItem.addActionListener(this);dateItem.addActionListener(this);wrapItem.addActionListener(this);findItem.addActionListener(this);fontItem.addActionListener(this);}//创建弹出式菜单publicvoidcreatePopupMenu(){popMenu=newJPopupMenu();popMenu.add("撤消");popMenu.addSeparator();popMenu.add("剪切");popMenu.add("复制");popMenu.add("粘贴");popMenu.addSeparator();popMenu.add("全选");}publicvoidactionPerformed(ActionEvente){Objectobj;obj=e.getSource();if(obj==exitItem)doExit();elseif(obj==saveItem)doSave();elseif(obj==saveasItem)doSaveAs();elseif(obj==newItem)doNewFile();elseif(obj==printItem)doPrint();elseif(obj==openItem)doOpen();elseif(obj==cutItem)doCut();elseif(obj==copyItem)doCopy();elseif(obj==pasteItem)doPaste();elseif(obj==selectallItem)doSelectAll();elseif(obj==dateItem)doDateTime();elseif(obj==wrapItem)doWrap();elseif(obj==findItem)doFind();elseif(obj==fontItem)doChangeFont();elseif(obj==aboutItem)doabout();}//当用户按下窗口的“关闭”时,会自动调用此方法protectedvoidprocessWindowEvent(WindowEvente){if(e.getID()==WindowEvent.WINDOW_CLOSING)doExit();}//监听文本内容的改变事件publicvoidchangedUpdate(DocumentEvente){//不需要动作}publicvoidinsertUpdate(DocumentEvente){changed=true;}publicvoidremoveUpdate(DocumentEvente){changed=true;}//监听鼠标事件classhandleMouseextendsMouseAdapter{publicvoidmouseReleased(MouseEvente){chkText();}}//监听键盘事件classhandleKeyextendsKeyAdapter{publicvoidkeyPressed(KeyEvente){chkText();}}//根据用户选择文本的情况,修改菜单的状态voidchkText(){if(text.getSelectedText()==null){cutItem.setEnabled(false);copyItem.setEnabled(false);}else{cutItem.setEnabled(true);copyItem.setEnabled(true);}}//程序退出时的代码voiddoExit(){intselect;if(!changed)System.exit(0);else{select=JOptionPane.showConfirmDialog(this,"文件修改后尚未存盘,要保存吗?");switch(select){caseJOptionPane.YES_OPTION:select=doSave();if(select==1)System.exit(0);break;caseJOptionPane.NO_OPTION:System.exit(0);break;caseJOptionPane.CANCEL_OPTION:break;}}}//保存用户编辑的文件,保存成功返回1,否则返回0intdoSave(){FileOutputStreamfout;bytecontent[];intflag;if(!haveName){flag=doSaveAs();}elseif(changed){try{fout=newFileOutputStream(file);content=text.getText().getBytes();fout.write(content);fout.close();changed=false;flag=1;}catch(FileNotFoundExceptione){JOptionPane.showMessageDialog(this,"指定的文件名称或属性有问题!");flag=0;}catch(IOExceptione){JOptionPane.showMessageDialog(this,"无法写文件,请检查文件是否被锁定");flag=0;}}else{flag=1;}returnflag;}//用"另存为"对话框保存文件。保存成功返回1,否则返回0intdoSaveAs(){FileOutputStreamfout;bytecontent[];intflag=0;Filetmpfile=null;ExampleFileFilterfilter=newExampleFileFilter();JFileChooserchooser;filter.addExtension("txt");filter.setDescription("文本文件");if(file!=null)chooser=newJFileChooser(file.getPath());elsechooser=newJFileChooser();chooser.setFileFilter(filter);flag=chooser.showSaveDialog(this);if(flag==JFileChooser.APPROVE_OPTION){tmpfile=chooser.getSelectedFile();if(tmpfile.exists()){if(JOptionPane.showConfirmDialog(this,"文件已经存在,是否覆盖?","警告",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){flag=1;}else{flag=0;}}else{flag=1;}}else{flag=0;}if(flag==1){//用户已经确定要以指定名称保存文件try{fout=newFileOutputStream(tmpfile);content=text.getText().getBytes();fout.write(content);fout.close();flag=1;}catch(FileNotFoundExceptione){JOptionPane.showMessageDialog(this,"指定的文件名称或属性有问题!");flag=0;}catch(IOExceptione){JOptionPane.showMessageDialog(this,"无法写文件,请检查文件是否被锁定");flag=0;}}if(flag==1){//文件保存成功,修改相关变量changed=false;haveName=true;file=tmpfile;this.setTitle("记事本--"+file.getName());}returnflag;}//新建一个文件voiddoNewFile(){intselect,flag;if(changed){select=JOptionPane.showConfirmDialog(this,"文件修改后尚未存盘,要保存吗?");switch(select){caseJOptionPane.YES_OPTION:flag=doSave();break;caseJOptionPane.NO_OPTION:flag=1;break;default:flag=0;break;}}else{flag=1;}if(flag==1){changed=false;haveName=false;setTitle("记事本--未命名");text.setText(null);}}//调用打印对话框,给用户打印文档voiddoPrint(){try{PrintRequestAttributeSetpras=newHashPrintRequestAttributeSet();DocFlavorflavor=DocFlavor.BYTE_ARRAY.AUTOSENSE;PrintServiceprintService[]=PrintServiceLookup.lookupPrintServices(flavor,pras);PrintServicedefaultService=PrintServiceLookup.lookupDefaultPrintService();PrintServiceservice=null;service=ServiceUI.printDialog(null,100,100,printService,defaultService,flavor,pras);if(service!=null){DocPrintJobjob=service.createPrintJob();DocAttributeSetdas=newHashDocAttributeSet();Docdoc=newSimpleDoc(text.getText().getBytes(),flavor,das);job.print(doc,pras);//进行文件的打印}}catch(Exceptione){JOptionPane.showMessageDialog(this,"打印任务无法完成");}}//打开一个已经存在的文件voiddoOpen(){intselect,flag;Filetmpfile=null;ExampleFileFilterfilter;JFileChooserchooser;FileInputStreamfin;bytebuf[];if(changed){select=JOptionPane.showConfirmDialog(this,"文件修改后尚未存盘,要保存吗?");switch(select){caseJOptionPane.YES_OPTION:flag=doSave();break;caseJOptionPane.NO_OPTION:flag=1;break;default:flag=0;break;}}else{flag=1;}if(flag==1){changed=false;filter=newExampleFileFilter();filter.addExtension("txt");filter.setDescription("文本文件");if(file!=null)chooser=newJFileChooser(file.getPath());elsechooser=newJFileChooser();chooser.setFileFilter(filter);select=chooser.showOpenDialog(this);if(select==JFileChooser.APPROVE_OPTION){tmpfile=chooser.getSelectedFile();try{fin=newFileInputStream(tmpfile);buf=newbyte[(int)tmpfile.length()];fin.read(buf);fin.close();text.setText(newString(buf));changed=false;haveName=true;file=tmpfile;setTitle("记事本--"+file.getName());}catch(FileNotFoundExceptione){JOptionPane.showMessageDialog(this,"指定的文件名称或属性有问题!");}catch(IOExceptione){JOptionPane.showMessageDialog(this,"无法读文件,请检查文件是否被锁定");}}}}//将用户选择的文本剪切到剪贴板voiddoCut(){text.cut();}//将用户选择的文本复制到剪贴板voiddoCopy(){text.copy();}//将剪贴板中的内容复制到文本区voiddoPaste(){text.paste();}//全选voiddoSelectAll(){text.selectAll();}//插入当前日期和时间voiddoDateTime(){SimpleDateFormatsdf=newSimpleDateFormat("HH:mmyyyy-MM-dd");text.append(sdf.format(newDate()));}//自动换行voiddoWrap(){if(wrapItem.getState()){text.setLineWrap(true);}else{text.setLineWrap(false);}}//显示查找对话框voiddoFind(){newfindDialog(this,text);}//设置字体voiddoChangeFont(){if(myFontDialog==null)myFontDialog=newfontDialog(this);if(myFontDialog.showFontDialog()==fontDialog.OK)text.setFont(myFontDialog.getFont());}}//类结束//本类实现了一个表格用的模型,取代默认的模型importjavax.swing.table.AbstractTableModel;finalclassMyTableModelextendsAbstractTableModel{privateObject[][]date;//存储表格中的数据privateString[]tableName;//存储表头//这个构造方法,由调用者提供数据和表头publicMyTableModel(Object[][]date,String[]tableName){this.date=date;this.tableName=tableName;}//这个构造方法,只需要提供数据,表头依次显示A、B……publicMyTableModel(Object[][]date){this.date=date;tableName=newString[date[0].length];char[]tch={'A'};for(inti=0;i<tableName.length;++i){tableName[i]=newString(tch);tch[0]++;}}//下面三个方法必须要提供publicintgetColumnCount(){returndate[0].length;}publicintgetRowCount(){returndate.length;}publicStringgetColumnName(intcol){returntableName[col];}publicObjectgetValueAt(introw,intcol){returndate[row][col];}//覆盖父类的方法,改变数据显示的形式publicClassgetColumnClass(intc){returndate[0][c].getClass();}}importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;importjava.awt.*;publicclassfontDialogextendsJDialogimplementsActionListener,ListSelectionListener{publicstaticfinalintCancle=0;publicstaticfinalintOK=1;publicstaticfinalString[]style={"正常","斜体","粗体","粗斜体"};publicstaticfinalString[]size={"8","9","10","11","12","14","16","18","20","22","24","26","28","36","48","72"};privateFontuserFont=null;privateintuserSelect=Cancle;privateJFrameparent=null;privateContainercon;privateJScrollPanenameSPane,styleSPane,sizeSPane;privateJPanelpanel[];privateJLabelnameLbl,styleLbl,sizeLbl;privateJTextFieldnameText,styleText,sizeText;privateJListnameList,styleList,sizeList;privateJButtonOKBtn,cancleBtn;publicfontDialog(){this(null);}publicfontDialog(JFrameowner){super(owner,true);parent=owner;setTitle("字体");con=getContentPane();BoxLayoutbox=newBoxLayout(con,BoxLayout.Y_AXIS);con.setLayout(box);panel=newJPanel[4];for(inti=0;i<3;i++){panel[i]=newJPanel();panel[i].setLayout(newGridLayout(1,3));}panel[3]=newJPanel();panel[3].setLayout(newFlowLayout());nameLbl=newJLabel("字体");styleLbl=newJLabel("字形");sizeLbl=newJLabel("大小");panel[0].add(nameLbl);panel[0].add(styleLbl);panel[0].add(sizeLbl);nameText=newJTextField("宋体");nameText.setColumns(5);nameText.setEditable(false);styleText=newJTextField("正常");styleText.setColumns(5);styleText.setEditable(false);sizeText=newJTextField("12");sizeText.setColumns(5);sizeText.setEditable(false);panel[1].add(nameText);panel[1].add(styleText);panel[1].add(sizeText);GraphicsEnvironmenteq=GraphicsEnvironment.getLocalGraphicsEnvironment();String[]availableFonts=eq.getAvailableFontFamilyNames();nameList=newJList(availableFonts);nameList.addListSelectionListener(this);nameSPane=newJScrollPane(nameList);styleList=newJList(style);styleList.addListSelectionListener(this);styleSPane=newJScrollPane(styleList);sizeList=newJList(size);sizeList.addListSelectionListener(this);sizeSPane=newJScrollPane(sizeList);panel[2].add(nameSPane);panel[2].add(styleSPane);panel[2].add(sizeSPane);OKBtn=newJButton("确定");OKBtn.addActionListener(this);cancleBtn=newJButton("取消");cancleBtn.addActionListener(this);panel[3].add(OKBtn);panel[3].add(cancleBtn);for(inti=0;i<4;i++)con.add(panel[i]);}publicintshowFontDialog(){setSize(300,300);intx,y;if(parent!=null){x=parent.getX()+30;y=parent.getY()+30;}else{x=150;y=100;}setLocation(newPoint(x,y));setVisible(true);returnuserSelect;}publicFontgetFont(){returnuserFont;}publicvoidactionPerformed(ActionEvente){intstyleIndex=Font.PLAIN,fontSize;if(e.getSource()==OKBtn){if(styleText.getText().equals("正常"))styleIndex=Font.PLAIN;if(styleText.getText().equals("斜体"))styleIndex=Font.ITALIC;if(styleText.getText().equals("粗体"))styleIndex=Font.BOLD;if(styleText.getText().equals("粗斜体"))styleIndex=Font.BOLD|Font.ITALIC;fontSize=Integer.parseInt(sizeText.getText());userFont=newFont(nameText.getText(),styleIndex,fontSize);userSelect=OK;setVisible(false);}else{userSelect=Cancle;setVisible(false);}}publicvoidvalueChanged(ListSelectionEvente){if(e.getSource()==nameList)nameText.setText((String)nameList.getSelectedValue());if(e.getSource()==styleList)styleText.setText((String)styleList.getSelectedValue());if(e.getSource()==sizeList)sizeText.setText((String)sizeList.getSelectedValue());}}importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassfindDialogextendsJDialogimplementsActionListener{ Containercon; JPanelpanel1,panel2; JTextAreatext; JLabellabel1; JTextFieldfindEdit; JCheckBoxcheckBox; JRadioButtonupBtn,downBtn; ButtonGroupdirBtnGroup; JButtonOKBtn,CancleBtn; intstart; publicfindDialog(JFrameowner,JTextAreaJtext){ super(owner,false); start=0; text=Jtext; panel1=newJPanel(); panel1.setLayout(newFlowLayout()); panel2=newJPanel(); panel2.setLayout(ne
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 伐木采伐劳务合同范例
- 幼儿园食品安全风险隐患排查的工作总结模版
- 个人律师顾问合同标准文本
- 乡村鱼塘买卖合同范例
- 新质生产力和新生产力
- 加权平均数教学设计
- 2024年醇酸磁漆项目资金申请报告代可行性研究报告
- 高一政治上教学工作总结模版
- 医疗教育的革新精准医疗与基因编辑技术的结合点
- 买房定金合同范例6
- 【高考真题】2022年新高考浙江语文高考真题试卷(Word版含答案)
- 天地学习法(1小时通读一本书)
- 纺织企业安全风险辨识建议清单
- 居然之家合同DOC
- 铝镁料仓等施工方案精品
- 目前最准确的通达信缠论分笔公式
- 《丑小鸭》教学设计
- 绿化种植施工合同
- 停车场收费管理系统使用手册
- 脱硫计算软件
- 执业医师注册健康体检表
评论
0/150
提交评论