java记事本新窗口、全选、时间/日期、自动换行、缩放的实现

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));//恢复默认大小则设置成初始状态

就是这么简单,快动手自己尝试一下吧!

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值