当前位置:文档之家› 实验八_电子记事本的设计与实现

实验八_电子记事本的设计与实现

实验八电子记事本的设计与实现掌握用户图形界面设计(GUI)的设计方法,了解布局管理器的知识,了解树形分层结构,掌握Java 中的控件的使用。

二、实验内容利用Java中的用户GUI图形界面设计、文件操作、数据库编程等方面的知识,实现电子记事本的设计与实现。

三、实验要求(1)该实验应能体现本课程中的综合知识;(2)该电子记事本应具有实用性。

(3)界面友好,操作简单。

四、实验步骤与结果:(由学生按照实验内容完成)import javax.swing.*;import java.awt.Container;import java.awt.event.*;import java.awt.*;import javax.swing.event.*;import java.util.*;import java.io.PrintWriter;public class gf extends JFrame implements ActionListener,ItemListener{JTextArea tf=new JTextArea();JLabel lb1=new JLabel("字体");String ziti[]={"宋体","黑体","楷体","Arial","Courier","TimesRoman","Helvetica"}; JLabel lb2=new JLabel("字体样式");String yangshi[]={"粗体","斜体","正常体","粗体倾斜"};JLabel lb3=new JLabel("字号");String zihao[]={"10","20","30","40","50","60"};JComboBox cbx1=new JComboBox();JComboBox cbx2=new JComboBox();JComboBox cbx3=new JComboBox();Font font;String str; int c=20;int n=Font.PLAIN;class savel implements ActionListener{public void actionPerformed(ActionEvent e){JFileChooser jf = new JFileChooser();jf.showSaveDialog(gf.this);}} //保存监听class exitl implements ActionListener{public void actionPerformed(ActionEvent e){System.exit(0);}} //退出监听class cutl implements ActionListener{public void actionPerformed(ActionEvent e){tf.cut();}} //剪切监听class copyl implements ActionListener{public void actionPerformed(ActionEvent e){tf.copy();}} //复制监听class pastel implements ActionListener{public void actionPerformed(ActionEvent e){tf.paste();}} //粘切监听class ziti1 implements ActionListener,ItemListener {public void actionPerformed(ActionEvent e){JFrame nf=new JFrame();Container cp=nf.getContentPane();cp.setLayout(new FlowLayout());nf.setSize(400,100);nf.setVisible(true);for (int i=0;i<ziti.length;i++)cbx1.addItem(ziti[i]);for (int i=0;i<yangshi.length;i++)cbx2.addItem(yangshi[i]);for (int i=0;i<zihao.length;i++)cbx3.addItem(zihao[i]);cp.add(lb1);cp.add(cbx1);cp.add(lb2);cp.add(cbx2);cp.add(lb3);cp.add(cbx3);cbx1.addItemListener(this);cbx2.addItemListener(this);cbx3.addItemListener(this);}public void itemStateChanged(ItemEvent e){if(e.getSource()==cbx1) //字体str=(String)e.getItem();if(e.getSource()==cbx2){ //字体样式if((String)e.getItem()=="粗体")n=Font.BOLD;if((String)e.getItem()=="斜体")n=Font.ITALIC;if((String)e.getItem()=="正常体")n=Font.PLAIN;if((String)e.getItem()=="粗体倾斜")n=Font.BOLD+Font.ITALIC;}if(e.getSource()==cbx3){ //字号String str=(String)e.getItem();for(int i=0;i<zihao.length;i++)if(str==zihao[i])c=(i+1)*10;}font=new Font(""+str,n,c);tf.setFont(font);}} //字体格式监听public gf(){super("记事本"); //设定JFrame的标签tf=new JTextArea("",24,40);getContentPane().add(new JScrollPane(tf)); //创建JFrame的容器对象 JMenuBar bar=new JMenuBar(); //创建JMenuBar对象JMenu menu1=new JMenu("文件");JMenu menu2=new JMenu("编辑");bar.setOpaque(true); //设置bar为不透明setJMenuBar(bar); //加入bar到JFramebar.add(menu1);bar.add(menu2);JMenuItem open=new JMenuItem("打开"); menu1.add(open);JMenuItem save=new JMenuItem("保存"); menu1.add(save);save.addActionListener(new savel());JMenuItem quit=new JMenuItem("退出");menu1.add(quit);quit.addActionListener(new exitl());JMenuItem cut=new JMenuItem("剪切");menu2.add(cut);cut.addActionListener(new cutl());JMenuItem copy=new JMenuItem("复制"); menu2.add(copy);copy.addActionListener(new copyl());JMenuItem paste=new JMenuItem("粘切"); menu2.add(paste);paste.addActionListener(new pastel());JMenuItem zt=new JMenuItem("字体格式"); menu2.add(zt);zt.addActionListener(new ziti1());}public static void main(String[] args){JFrame f = new gf();f.setSize(400,200);f.setVisible(true);}}五、总结。

相关主题