第十三周课程总结&第八次实验总结
实验总结
实验内容
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、三种返回状态
这就是本周的学习内容,图形界面也学完了,也可以开始一些比较复杂的编程了,下周就要学习数据库了,好像挺复杂的,得加油了!!!