java 记事本右键_关于记事本的右键快捷菜单,该如何解决

本文介绍了作者在创建一个Java记事本程序时遇到的右键快捷菜单无法显示的问题,同时提到了状态栏也存在一些问题。作者分享了记事本的源代码,包括文件打开、保存、复制、粘贴等操作,并寻求帮助解决右键菜单不显示的故障。
摘要由CSDN通过智能技术生成

关于记事本的右键快捷菜单,该如何解决

热度:4463   发布时间:2013-02-25 21:42:48

关于记事本的右键快捷菜单

本人菜鸟,刚写个记事本,想添加右键菜单,但是右键菜单不显示,而且状态栏也有问题,帮忙看下!!!

import javax.swing.*;

import javax.swing.event.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.awt.event.InputEvent.*;

import java.awt.datatransfer.*;

public class NotePad extends JFrame implements ActionListener,ItemListener,MouseListener{

JMenuBar jmenubar;

JMenu jfile,jedit,jgeshi,jlook,jhelp;

JMenuItem jopen,jsave,jexit,jcopy,jzhant,jsaveas,jhuan;

JTextArea jtarea;

FileDialog openFileDialog,saveAsFileDialog,saveFileDialog;

String fileName;

JCheckBox jchuan;

Toolkit toolkit;

Clipboard clipboard;

JPopupMenu pm;

public NotePad(){

setTitle("记事本");

setSize(600,400);

setVisible(true);

jmenubar = new JMenuBar();

jtarea = new JTextArea();

add(jtarea,BorderLayout.CENTER);

addMouseListener(this);

jfile = new JMenu("文件(F)");

jedit = new JMenu("编辑(E)");

jgeshi = new JMenu("格式(O)");

jlook = new JMenu("查看(V)");

jhelp = new JMenu("帮助(H)");

jopen = new JMenuItem("打开");

jsave = new JMenuItem("保存");

jsaveas = new JMenuItem("另存为");

jexit = new JMenuItem("退出");

jcopy = new JMenuItem("复制");

jzhant = new JMenuItem("粘贴");

//jhuan = new JMenuItem("自动换行");

jchuan = new JCheckBox("自动换行");

jmenubar.add(jfile);

jmenubar.add(jedit);

jmenubar.add(jgeshi);

jmenubar.add(jlook);

jmenubar.add(jhelp);

jfile.add(jopen);

jfile.add(jsave);

jfile.addSeparator();

jfile.add(jexit);

jedit.add(jcopy);

jedit.add(jzhant);

//jgeshi.add(jhuan);

jgeshi.add(jchuan);

setJMenuBar(jmenubar);

pm=new JPopupMenu();

pm.add(jsave);

pm.add(jcopy);

pm.add(jzhant);

toolkit = Toolkit.getDefaultToolkit();

clipboard = toolkit.getSystemClipboard();

JScrollPane scroll = new JScrollPane(jtarea);

getContentPane().add(scroll,BorderLayout.CENTER);

scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

validate();

jopen.addActionListener(this);

jsave.addActionListener(this);

jexit.addActionListener(this);

//jhuan.addActionListener(this);

jchuan.addItemListener(this);

jcopy.addActionListener(this);

jzhant.addActionListener(this);

jfile.setMnemonic('F');

jedit.setMnemonic('E');

jgeshi.setMnemonic('O');

jopen.setAccelerator(KeyStroke.getKeyStroke('O',Event.CTRL_MASK));

jsave.setAccelerator(KeyStroke.getKeyStroke('S',Event.CTRL_MASK));

jcopy.setAccelerator(KeyStroke.getKeyStroke('C',Event.CTRL_MASK));

jzhant.setAccelerator(KeyStroke.getKeyStroke('V',Event.CTRL_MASK));

openFileDialog = new FileDialog(this,"打开文件",FileDialog.LOAD);

saveFileDialog = new FileDialog(this,"保存文件",FileDialog.SAVE);

}

public void actionPerformed(ActionEvent e){

if(e.getSource()==jexit){

System.exit(0);

}

if(e.getSource()==jopen){

openFileDialog.show();

fileName = openFileDialog.getDirectory()+openFileDialog.getFile();

if(fileName!=null){

readFile(fileName);

}

}

if(e.getSource()==jsave){

saveFileDialog.show();

fileName = saveFileDialog.getDirectory()+saveFileDialog.getFile();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值