77范文网 - 专业文章范例文档资料分享平台

Java实验指导书(8)

来源:网络收集 时间:2019-06-11 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

setJMenuBar(menuBar);

JMenu fileMenu = new JMenu(\);// 文件菜单 menuBar.add(fileMenu);

JMenu editMenu = new JMenu(\);// 编辑菜单 menuBar.add(editMenu);

JMenu helpMenu = new JMenu(\);// 帮助菜单 menuBar.add(helpMenu);

JMenuItem loadItem = new JMenuItem(\);// Load菜单项

loadItem.addActionListener(new ActionListener() {// 添加点击事件处理

public void actionPerformed(ActionEvent e) { }

loadFile();

});

fileMenu.add(loadItem);

JMenuItem saveItem = new JMenuItem(\);// Save菜单项

saveItem.addActionListener(new ActionListener() {// 添加点击事件处理

public void actionPerformed(ActionEvent e) { }

saveFile();

});

fileMenu.add(saveItem);

JMenuItem exitItem = new JMenuItem(\);// Exit菜单项

exitItem.addActionListener(new ActionListener() {// 添加点击事件处理

public void actionPerformed(ActionEvent e) { }

System.exit(0);

});

fileMenu.add(exitItem);

JMenuItem cutItem = new JMenuItem(\);// Cut菜单项

cutItem.addActionListener(new ActionListener() {// 添加点击事件处理

public void actionPerformed(ActionEvent e) { }

cut();

});

editMenu.add(cutItem);

JMenuItem copyItem = new JMenuItem(\);// Copy菜单项

copyItem.addActionListener(new ActionListener() {// 添加点击事件处理

public void actionPerformed(ActionEvent e) { }

copy();

});

editMenu.add(copyItem);

JMenuItem pasteItem = new JMenuItem(\);// Paste菜单项

pasteItem.addActionListener(new ActionListener() {//添加点击事件处理

34

public void actionPerformed(ActionEvent e) { }

paste();

});

editMenu.add(pasteItem); topPanel = new JPanel();

topPanel.setLayout(new BorderLayout());// 设置BorderLayout布局 editorPanel = new JPanel();

editorPanel.setLayout(new BorderLayout());

editorPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, bottonPanel = new JPanel();

bottonPanel.setBorder(BorderFactory.createEtchedBorder()); GridLayout grid = new GridLayout(); grid.setColumns(1);// 设置为1列

grid.setHgap(10);// 设置内部组件垂直间隔 grid.setRows(5);// 设置为5行

grid.setVgap(3);// 设置内部组件水平间隔

bottonPanel.setLayout(grid);// 设置为网格布局 scroller = new JScrollPane(); editor = new JTextArea();

editor.setColumns(40);// 文本区设置为40列 loadButton = new JButton(\);

loadButton.addActionListener(new ActionListener(){//添加点击事件处理

public void actionPerformed(ActionEvent e){ }

loadFile();

5));// 设置边框

});

saveButton = new JButton(\);

saveButton.addActionListener(new ActionListener(){//添加点击事件处理

public void actionPerformed(ActionEvent e) { }

saveFile();

});

cutButton = new JButton(\);

cutButton.addActionListener(new ActionListener(){//添加点击事件处理

public void actionPerformed(ActionEvent e) { }

cut();

});

copyButton = new JButton(\);

copyButton.addActionListener(new ActionListener(){//添加点击事件处理

public void actionPerformed(ActionEvent e) {

35

}

copy();

});

pasteButton = new JButton(\);

pasteButton.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) { }

paste();

});

final JPopupMenu popup = new JPopupMenu();// 创建弹出菜单 JMenuItem jcutItem = new JMenuItem(\);// 创建Cut菜单项 popup.add(jcutItem);

}

editor.addMouseListener(new MouseAdapter() {// 添加鼠标事件处理

public void mouseReleased(MouseEvent event) { }

if (event.isPopupTrigger())// 判断是否按下鼠标右键

popup.show(event.getComponent(), event.getX(),

event.getY());// 显示弹出式菜单

});

// 把topPanel添加到内容面板的中区

getContentPane().add(topPanel, BorderLayout.CENTER); topPanel.add(bottonPanel, BorderLayout.WEST); bottonPanel.add(loadButton); bottonPanel.add(saveButton); bottonPanel.add(cutButton); bottonPanel.add(copyButton); bottonPanel.add(pasteButton);

topPanel.add(editorPanel, BorderLayout.CENTER); editorPanel.add(scroller, BorderLayout.CENTER);

scroller.getViewport().add(editor);// 把editor添加到滚动面板 setTitle(\);// 设置窗口标题 pack();// 调整此窗口的大小以适合其子组件的首选大小和布局

private void loadFile() {// 加载文件内容到文本区

JFileChooser fc = new JFileChooser(); int returnVal = fc.showOpenDialog(this);

if (returnVal == JFileChooser.APPROVE_OPTION) {

File file = fc.getSelectedFile(); try { }

editor.read(new FileReader(file), null); } catch (IOException exp) {

36

}

}

}

private void saveFile() {// 把文本区的内容保存到文件 }

private void copy() {// 把文本区的内容复制到系统剪贴板 }

private void paste() {// 把系统剪贴板的内容粘贴到文本区 }

private void cut() {// 把文本区的内容剪切到系统剪贴板 }

editor.cut();

editor.requestFocus(); editor.paste();

editor.requestFocus(); editor.copy();

editor.requestFocus();

JFileChooser fc = new JFileChooser(); int returnVal = fc.showSaveDialog(this);

if (returnVal == JFileChooser.APPROVE_OPTION) { }

File file = fc.getSelectedFile(); try { }

editor.write(new FileWriter(file)); } catch (IOException exp) {

(4)在Package Explorer窗口中工程Experiment7下“src”下的“Editer”包上单击鼠标右键,在弹出菜单中选择New->Class,就会出现创建Java 类界面,在Name中输入“SimpleEditer”,选中“public static void main(String[] args)”复选框,单击Finish按钮完成类的创建。这样就创建了一个名称为SimpleEditer的主类。

(5)在SimpleEditer类中输入代码如下:

package Editer;

import javax.swing.JFrame; public class SimpleEditer{

public static void main(String[] args){ EditerFrame frame = new EditerFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }

(6)点击工具栏运行按钮,运行结果如图E7-1所示。

37

图E7-1 运行结果

(二)实验练习题

1、按下面要求修改基本指导中的文本编辑器程序,要求:

(1)窗口标题改为“简单记事本”。

(2)在窗口中添加一个具有以下菜单的菜单栏: a.“文件”菜单,包含“打开”、“保存”、“退出”的菜单项,菜单间加分隔线。 b.“编辑”菜单,包含“复制”、“剪切”、“粘贴”的菜单项,菜单间加分隔线。 c.“格式”菜单,包含“字体设置”和“格式设置”的二级子菜单;“字体设置”包含“字体大小”和“字体颜色”菜单项,“格式设置”包含 “自动换行”、“取消自动换行”、“断行不断字”、“取消断行不断字”菜单项,添加相应的事件处理方法。(提示:JTextArea类中,使用setLineWrap(true)方法设置自动换行,使用setWrapStyleword(true)方法设置断行不断字)

d.“帮助”菜单,包含“关于”菜单项,添加事件处理方法,使具有弹出“关于对话框”(显示软件版本和作者信息)的功能。

(3)在窗口中添加工具栏,包含“打开”、“保存”、“复制”、“剪切”、“粘贴”图片按钮的工具栏,添加事件处理方法,单击相应的按钮能实现相应的功能。

(4)在窗口中添加弹出式菜单,包含“打开”、“保存”、“复制”、“剪切”、“粘贴”的菜单项,之间添加分隔线,添并加事件处理方法,选择相应的菜单项能实现相应的功能。

(5)当用户关闭窗口或退出程序时,弹出提醒用户保存文件的对话框。

2、编写程序,在窗口中画出方程y=ax2+bx+c,其中a、b、c的值可以通过三个滑动杆(JSlider)对象改变。

38

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java实验指导书(8)在线全文阅读。

Java实验指导书(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/657382.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: