java记事本新窗口、全选、时间/日期、自动换行、缩放在实现时逻辑比较简单,代码量也少,因此放在了一起。主要是一些java自带的函数的运用。
一、新窗口
新窗口:假设你的记事本的功能和界面显示都在一个类MyNotepad中,只需要再生成一个MyNotepad类的对象就OK了。
MyNotepad pad = new MyNotepad();
如果是在该类的一个初始化init函数中,在生成对象后调用该方法即可
pad.init();
要做到点击”新窗口“菜单项后执行上述相应的操作有两种方式,第一种是直接为”新窗口“菜单项添加事件监听:
JMenuItem file_newwindow = new JMenuItem("新窗口(W)");//文件菜单下的菜单子项
file_newwindow.addActionListener(new ActionListener()//添加动作监听器
{ public void actionPerformed(ActionEvent e)
{
//点击新窗口菜单项后的相应操作
}
}
第二种是自定义一个自己的监听类MyListener,这样就需要为”新窗口“的点击事件设置一个动作命令,并将”新窗口“的监听器设置为自定义监听类的一个对象。优点是可以将多个事件的处理写在同一块地方。
MyListener listener = new MyListener();
file_newwindow.setActionCommand("newwindow");//设置动作命令
file_newwindow.addActionListener(listener);//设置监听器
public class MyListener implements ActionListener {
@Override//重写
public void actionPerformed(ActionEvent e){
String actionCommand = e.getActionCommand();//返回触发事件e的动作命令
if("newwindow".equals(actionCommand)){
//点击新窗口菜单项后的相应操作
}
if("command".equals(actionCommand)){
//点击"command"命令对应的组件后的相应操作
}
}
其余功能的实现均只写点击后相应的操作,事件监听与”新窗口“的类似。
二、全选
全选需要将文本区域的全部内容选中。
JTextArea jtext = new JTextArea();//文本编辑区域
//以下为事件的处理
jtext.selectAll();//全选
三、时间/日期
Date date = new Date();// 获得当前日期
//日期格式化SimpleDateFormat h时 m分 y年 M月 d日
SimpleDateFormat dateformat = new SimpleDateFormat("hh:mm yyyy-MM-dd");
jtext.append(dateformat.format(date));// 时间转换成指定格式追加到文本
四、自动换行
//复选框类型的菜单子项
JCheckBoxMenuItem format_linewrap = new JCheckBoxMenuItem("自动换行(W)");
format_linewrap.setState(false);//初始状态为不自动换行
//以下为事件的处理
if(format_linewrap.getState())//判断复选框是否选中,选中为true
jtext.setLineWrap(true);//自动换行
else
jtext.setLineWrap(false);//不自动换行
五、缩放
缩放主要是获取并调整文本框中字体的尺寸。
jtext.setFont(new Font("宋体", Font.PLAIN, 14));//初始化字体
//以下为事件的处理
String name = jtext.getFont().getFontName();// 返回字体外观
int style = jtext.getFont().getStyle();// 获得字体的样式
int size = jtext.getFont().getSize();// 获得字体的大小
jtext.setFont(new Font(name, style, size + 1));// 放大则将字体大小+1
//jtext.setFont(new Font(name, style, size - 1));// 缩小则将字体大小-1
//jtext.setFont(new Font("宋体", Font.PLAIN, 14));//恢复默认大小则设置成初始状态
就是这么简单,快动手自己尝试一下吧!