javase-记事本程序的新建功能

问题描述

记事本程序的新建功能

给“新建”这个菜单项添加了如下监听器代码,可是运行时会出现错误。

newfile.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
try
{
boolean exitstext=textArea.getText().equals("");
if(!exitstext)
{
JOptionPane.showConfirmDialog(frame,"Do you want to save the contents?");
JOptionPane getuserchoose=new JOptionPane();
int userchoose=((Integer)getuserchoose.getValue()).intValue();//this sentence is wrong.But what's wrong?
if(userchoose==JOptionPane.OK_OPTION)
{
save();
textArea.setText("");
}
else if(userchoose==JOptionPane.NO_OPTION)
{
textArea.setText("");
}
}
}
catch(HeadlessException headlessexception)
{
System.out.println(headlessexception.getMessage());
}
}
}
);

其中save方法的代码为: public void save()
{
try
{
FileDialog savefiledialog=new FileDialog(frame,"save file",FileDialog.SAVE);
savefiledialog.setVisible(true);
String savefiledictory=savefiledialog.getDirectory();
String savefilename=savefiledialog.getFile()+".txt";
File savefile=new File(savefiledictory,savefilename);
FileWriter filewrite=new FileWriter(savefile);
BufferedWriter filebufferwriter=new BufferedWriter(filewrite);
filebufferwriter.write(textArea.getText(), 0,textArea.getText().length());
filebufferwriter.close();
filewrite.close();
}
catch(IOException ioexception)
{
ioexception.printStackTrace();
}
}

运行时一点击"是否保存内容"对话框里面的”是“就会出现下面的代码,
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at NewNoteBook.NewNoteBook$2.actionPerformed(NewNoteBook.java:206)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at java.awt.Component.processMouseEvent(Component.java:6516)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6281)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4872)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:740)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:699)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:713)
at java.awt.EventQueue$4.run(EventQueue.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:710)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

解决方案

字符串转整型Integer.valueOf

 int userchoose=Integer.valueOf(getuserchoose.getValue());
时间: 2025-01-19 17:21:27

javase-记事本程序的新建功能的相关文章

如何更换Windows XP下的默认记事本程序

XP下的记事本使用的频率还是比较高的,但是它却缺少行数显示,而且编写脚本什么的没有高亮显示,以至于有时候英文拼写错了都不知道(尤其是像我这种英文差的人).Vista下的记事本就好用很多了,不过Vista要求太高了,所以今天就是要用一款功能更强的Notepad2来替换XP下的记事本. 废话不说了,首先下载Notepad2汉化版保存在D盘,解压出notepad2.exe到D盘,改名为notepad.exe 然后分别拷贝到"c:\windows\system32\dllcache\".&qu

用Java编写的记事本程序

这个学期,我们学习了Java编程,期末之时老师要我们编个记事本作为这门课程的课程设计,我写了一个,大体上的功能都实现了,只有"撤销"的功能没有实现,请各位大虾指点一下,"撤销"的算法,不甚感激! 特将记事本的源码附下,请大家指点,看还有没有更简洁高效的算法,请不要吝啬,我的E-mail:yangyong@ccsu.cn,欢迎大家来信指点! /* * *题目:记事本程序 *Author: Jeason * * 2004-12-20 * **/ package jeas

java ee-java写的记事本程序如何写测试类

问题描述 java写的记事本程序如何写测试类 import java.awt.event.*; import java.awt.*; import java.io.*; import java.lang.String; class jsb implements ActionListener { Dialog bb; String strt; int i; FileDialog fd; File file; public Frame f; public TextArea p1; public Me

windows开发记事本程序纪实(一)界面篇_相关技巧

前言 从毕业开始学习windows UI编程,工作中总是和一些API打交道,但是从没有做过一个完整的界面程序.因此打算自己利用空余时间做一个小的项目来总结自己所学的东西.在网上看到许多人建议自己动手写完整的项目才能快速提高,因此打算从仿照windows的记事本开始,真正实现一个基本的windows界面程序.考虑到编写一个完整的windows 记事本程序需要大量的工作,因此打算将每一个阶段的成果记录下来,一方面能够帮助自己进行总结,回顾已学的知识,另一方面也能够与其他网友一起讨论,从而可以在讨论中

web应用程序-asp.net做网站新建项目web空应用程序还是新建网站

问题描述 asp.net做网站新建项目web空应用程序还是新建网站 小弟刚出来工作,第一个项目是建的asp.net空网站,但是在发布网站的时候会把每个bin文件里的每个cs类文件生成一个随机命名的dll文件,网站上线后,如果有些功能要修改cs文件的话,就很麻烦,要重新上传所有的内容,听说新建web应用程序就不会有这个问题,web应用程序会把cs文件封装在一个dll里面,是这样吗?这些我都还不是很懂,做网站的话是新建哪个好点,各自有什么优缺点?希望前辈们指教一下,万分感谢. 解决方案 http:/

接口-如何将记事本全选按钮功能做成插件dll形式,用C#写

问题描述 如何将记事本全选按钮功能做成插件dll形式,用C#写 不一定要是全选,复制,粘贴,撤销,等功能都可以,宿主程序的借口和插件的接口怎么写,插件和宿主程序怎么实现,求大神帮忙指导下 解决方案 主程序定义接口,插件引用主程序,给接口写实现类. 主程序遍历插件目录,反射加载插件dll,反射加载插件类转换为接口类型,调用. 解决方案二: http://www.2cto.com/kf/201303/194317.html

能否实现在右键菜单添加项用于通过cmd执行某exe程序的某个功能

问题描述 能否实现在右键菜单添加项用于通过cmd执行某exe程序的某个功能 最主要的是不知道怎么在cmd里执行某exe文件的某功能. 比如: 现在有一个exe程序,是一个桌面提醒程序, 我想用cmd调用这个程序的新建桌面提醒功能,请问应该怎么做? 会有大神帮忙解答吗? 解决方案 你既然注册了右键菜单,那么你的程序就可以响应菜单项,然后用ShellExecute()去调用exe程序就可以了 解决方案二: 前提是你的那个exe得支持执行其中一个功能才行 解决方案三: 可以,具体做法参考:http:/

windows开发记事本程序纪实(二)逻辑篇1_其它综合

1. 主要内容 从本节开始介绍windows开发实现记事本程序的逻辑实现部分.本节的主要内容有以下3点: 1. 主窗口定义 -- 主要介绍记事本主界面窗口对应的窗口类及实现方案 2. RichEdit控件的选用及初始化 -- 记事本程序中编辑控件的选择及使用 3. 整个程序ICON的选择.-- 程序ICON设置 2. 实际开发 2.1 主窗口实现 在上一篇介绍界面的实现中只是给出了运行界面的效果,但是当时那个界面程序不能响应任何的windows消息,因为当时的窗口在创建时将窗口对应的过程处理函数

对话框-求一个MFC记事本窗口的记忆功能的实现?

问题描述 求一个MFC记事本窗口的记忆功能的实现? 如果窗口关闭的时候状态是最大化的,那么下次打开还是最大化的,如果不是最大化的,打开就不是最大化的.为什么SDI窗口就有,而对话框就没有呢? 解决方案 GetWindowPlacement得到窗口状态,存入注册表http://baike.baidu.com/link?url=ypOTXE4bQdo_rccie2nDnF9qg5i3zN_LlUkZ-g91YHln7S3K8ERtA2XLJeLuf2f2Yia-NpywABvx75a7zsqiLa