第十三周课程总结&第八次实验总结

实验总结

实验内容

1、题目

完成一个简单的记事本

2、实验代码

package Work9;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.io.*;
import javax.swing.*;

public class TextPad implements ActionListener {

	JFrame frame;
	JMenuBar bar;
	JMenu fileMenu, editMenu;
	JMenuItem newItem, openItem, saveItem, saveasItem, closeItem;
	ImageIcon newIcon, openIcon, saveIcon, saveasIcon, closeIcon;
	JScrollPane scroll;
	JTextArea area;
	JFileChooser chooser;
	File file;

	public TextPad() {
		frame = new JFrame("XZY的记事本");
		bar = new JMenuBar();
		fileMenu = new JMenu("文件");
		editMenu = new JMenu("编辑");
		newIcon = new ImageIcon("d:" + File.separator + "JavaWork" + File.separator + "1.png");
		openIcon = new ImageIcon("d:" + File.separator + "JavaWork" + File.separator + "2.png");
		saveIcon = new ImageIcon("d:" + File.separator + "JavaWork" + File.separator + "3.png");
		saveasIcon = new ImageIcon("d:" + File.separator + "JavaWork" + File.separator + "4.png");
		closeIcon = new ImageIcon("d:" + File.separator + "JavaWork" + File.separator + "5.png");
		newItem = new JMenuItem("新建(N)", newIcon);
		openItem = new JMenuItem("打开(O)", openIcon);
		saveItem = new JMenuItem("保存(S)", saveIcon);
		saveasItem = new JMenuItem("另存为(A)", saveasIcon);
		closeItem = new JMenuItem("关闭(X)", closeIcon);
		area = new JTextArea();
		scroll = new JScrollPane(area);

		newItem.setMnemonic(KeyEvent.VK_N);
		openItem.setMnemonic(KeyEvent.VK_O);
		saveItem.setMnemonic(KeyEvent.VK_S);
		saveasItem.setMnemonic(KeyEvent.VK_A);
		closeItem.setMnemonic(KeyEvent.VK_X);

		newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_DOWN_MASK));
		openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_DOWN_MASK));
		saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK));
		saveasItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_DOWN_MASK));
		closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_DOWN_MASK));

		fileMenu.add(newItem);
		fileMenu.add(openItem);
		fileMenu.add(saveItem);
		fileMenu.add(saveasItem);
		fileMenu.addSeparator();
		fileMenu.add(closeItem);

		newItem.addActionListener(this);
		openItem.addActionListener(this);
		saveItem.addActionListener(this);
		saveasItem.addActionListener(this);
		closeItem.addActionListener(this);

		bar.add(fileMenu);
		bar.add(editMenu);

		frame.setJMenuBar(bar);
		frame.add(scroll);
		frame.setSize(400, 300);
		frame.setVisible(true);

	}

	public void actionPerformed(ActionEvent event){
		
		Object obj=event.getSource();
		if(obj instanceof JMenuItem) {
			JMenuItem item=(JMenuItem) obj;
			if(item == newItem) {
				new TextPad();
			}else if(item == openItem) {
				chooser = new JFileChooser();
				chooser.showOpenDialog(null);
				file = chooser.getSelectedFile();
				try {
					FileInputStream fis= new FileInputStream(file);
						byte[] b = new byte[fis.available()];
						fis.read(b);
						area.append(new String(b));
						fis.close();
					
				} catch (FileNotFoundException e) {
					
					e.printStackTrace();
				} catch (IOException e) {
					
					e.printStackTrace();
				}
			}else if(item == saveItem) {
				if(file!=null) {
					try {
						PrintStream out = new PrintStream(new FileOutputStream(file));
						out.print(this.area.getText());
						out.close();
					} catch (FileNotFoundException e) {
						
						e.printStackTrace();
					}
				}
				
			}else if(item == saveasItem) {
				chooser.showSaveDialog(null);
				file = chooser.getSelectedFile();
				if(!file.exists()) {
					try {
						if(!file.exists()) {
						file.createNewFile();
						}
						FileOutputStream fos=new FileOutputStream(file);
						byte[] b = area.getText().getBytes();
						fos.write(b);
						fos.close();
					} catch (IOException e) {
						
						e.printStackTrace();
					
				}
			}
		}else if(item == closeItem) {
			System.exit(1);
		}
	}
	
	

}
}

package Work9;

public class Test {

	public static void main(String[] args) {
		new TextPad();
	}

}

3、实验结果









4、实验总结

本次实验内容老师上课给我们展示过,我们只需要在上面修改一些,再加上一些功能就好了,还计较容易理解。

课程总结

一、事件处理
   1、键盘事件及其监听
   2、鼠标事件及其监听
   3、鼠标拖拽事件及其监听
二、单选钮:JRadioButton
三、复选框:JCheckBox
四、菜单组件
五、文件选择框

事件处理

键盘事件及其处理


1、定义方法

2、常用方法

鼠标事件及其处理


1、定义方法

2、常用方法

鼠标拖拽事件及其处理


1、常用方法

单选钮:JRadioButton


1、常用方法

2、事件处理
①定义方法

②常用方法

复选框:JCheckBox

定义及常用方法

菜单组件

JMenuBar

1、常用方法

JMenu

1、常用方法

JMenuItem

1、常用方法


文件选择框

JFileChooser


1、常用方法

2、三种返回状态

这就是本周的学习内容,图形界面也学完了,也可以开始一些比较复杂的编程了,下周就要学习数据库了,好像挺复杂的,得加油了!!!
posted @ 2019-11-21 19:36  南方等伊人  阅读(313)  评论(0编辑  收藏  举报