📄 testmenu1.java
字号:
package com.test;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Dialog;
import java.awt.FileDialog;
import java.awt.Label;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.awt.*;
import com.resource.MyMouseEvent;
public class TestMenu1 extends JFrame implements ActionListener,ItemListener,MouseListener{
JMenuBar mb=new JMenuBar();
JMenu file=new JMenu("文件");
JMenu edit=new JMenu("编辑");
JMenu font=new JMenu("字体");
JMenuItem open=new JMenuItem("打开");
JMenuItem save=new JMenuItem("保存");
JMenuItem exit=new JMenuItem("退出");
JMenuItem copy=new JMenuItem("复制");
JMenuItem paste=new JMenuItem("粘贴");
JCheckBoxMenuItem bold=new JCheckBoxMenuItem("加粗");
JCheckBoxMenuItem ita=new JCheckBoxMenuItem("倾斜");
JTextArea ta=new JTextArea(30,20);
JButton openDialog=new JButton("openDialog");
JButton hideDialog=new JButton("hideDialog");
JMenuItem copy1=new JMenuItem("复制");
JMenuItem paste1=new JMenuItem("粘贴");
JPopupMenu pm=new JPopupMenu();
String tmp=new String();
JDialog dl=new JDialog(this,"测试对话框");;
TestMenu1()
{
this.setSize(1200,800);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
open.addActionListener(this);
save.addActionListener(this);
exit.addActionListener(this);
copy.addActionListener(this);
paste.addActionListener(this);
bold.addItemListener(this);
openDialog.addActionListener(this);
hideDialog.addActionListener(this);
file.add(open);
file.add(save);
file.add(exit);
edit.add(copy);
edit.add(paste);
edit.add(font);
font.add(bold);
mb.add(file);
mb.add(edit);
this.add(mb,BorderLayout.NORTH);
ta.setFont(new Font("SansSerif",Font.PLAIN,14));
ta.setLineWrap(true);
ta.setWrapStyleWord(true);
copy1.addActionListener(this);
paste1.addActionListener(this);
pm.add(copy1);
pm.add(paste1);
ta.add(pm);
ta.addMouseListener(this);
this.add(ta,BorderLayout.CENTER);
JPanel p=new JPanel();
p.add(openDialog);
p.add(hideDialog);
this.add(p,BorderLayout.SOUTH);
dl.add(new JLabel("这是一个对话框"),BorderLayout.NORTH);
dl.add(new JButton("ok"),BorderLayout.WEST);
dl.add(new JButton("cancel"),BorderLayout.EAST);
dl.setSize(100,60);
dl.setModal(false);
this.pack();
this.setVisible(true);
}
public void actionPerformed(ActionEvent e){
if (e.getSource()==open)
{
try{
FileDialog fd=new FileDialog(this,"打开",FileDialog.LOAD);
fd.setVisible(true);
BufferedReader in =new BufferedReader(new FileReader(fd.getDirectory()+fd.getFile()));
String s,s2= new String();
while((s=in.readLine())!=null)
{
s2=s+"\r\n";
ta.append(s2);
}
in.close();
}catch(IOException ex){}
}
if (e.getActionCommand()=="复制")
this.tmp=ta.getSelectedText();
if (e.getActionCommand()=="粘贴")
ta.insert(this.tmp,ta.getCaretPosition());
if(e.getSource()==openDialog)
{
dl.show(true);
}
if(e.getSource()==hideDialog)
{
dl.hide();
}
}
public void itemStateChanged(ItemEvent e) {
if (e.getSource()==bold)
{
if(bold.isSelected())
ta.setFont(new Font("Arial",Font.BOLD,24));
else
ta.setFont(new Font("SansSerif",Font.PLAIN,14));
}
}
public void mouseClicked(MouseEvent e) { }
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) { }
public void mousePressed(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3)
pm.show(this,e.getX(),e.getY());
}
public void mouseReleased(MouseEvent e){ }
public static void main(String[] args){
TestMenu1 t=new TestMenu1();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -