📄 example.java
字号:
package swing;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.File;
import java.io.*;
import java.util.*;
import java.util.regex.*;
import java.awt.print.*;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.swing.event.*;
import java.util.Calendar;
class Frame1 extends JFrame
{
Container c = new Container();
JEditorPane content;
JSplitPane splitPane;//切分条
JLabel jLabel;
JTextField tf;
PrinterJob printerJob;
Boolean b=false;
JFileChooser fileChooser;
JPopupMenu menu=new JPopupMenu(); //弹出式菜单
Calendar cal=Calendar.getInstance();
JDialog about=new JDialog(this);
JButton jbutton1,jbutton2,jbutton3,jbutton4,jbutton5,jbutton6,jbutton7;
Label la = new Label();
JMenuBar jmb = new JMenuBar(); //新建菜单条
JMenu file = new JMenu("File(F)"); //文件
JMenu edit = new JMenu("Edit(E)"); //编辑
JMenu option = new JMenu("Option(F)"); //字体
JMenu look = new JMenu("Look(V)");//查看
JMenu format = new JMenu("Format(O)");//格式
JMenu color = new JMenu("Color");//颜色
JMenu alignmanner = new JMenu("AlignManner");//对齐方式
JMenu help = new JMenu("Help(H)");//帮助
JMenuItem New = new JMenuItem("New(N)",new ImageIcon("image/new.gif"));//新建
JMenuItem open = new JMenuItem("Open(O)",new ImageIcon("image/open.gif"));//打开
JMenuItem save = new JMenuItem("Save as(A)",new ImageIcon("image/save.gif"));//另存为
JMenuItem print = new JMenuItem("Print(P)",new ImageIcon("image/print.gif"));//打印
JMenuItem exit = new JMenuItem("Exit(X)");//退出
JMenuItem copy = new JMenuItem("Copy(C)",new ImageIcon("image/copy.gif"));//复制
JMenuItem cut = new JMenuItem("Cut(T)",new ImageIcon("image/cut.gif"));//剪切
JMenuItem paste = new JMenuItem("Paste(P)",new ImageIcon("image/paste.gif"));//粘贴
JMenuItem select = new JMenuItem("SelectAll(A)");//全选
JMenuItem delete = new JMenuItem("DeleteAll");//删除全部
JMenuItem italic = new JMenuItem("Italic",new ImageIcon("image/Italic.gif"));//斜体
JMenuItem bold = new JMenuItem("Bold",new ImageIcon("image/bold.gif"));//粗体
JMenuItem underline = new JMenuItem("Underline",new ImageIcon("image/underline.gif"));//下划线
JMenuItem fontcolor = new JMenuItem("FontColor");//字体颜色
JMenuItem backgroundcolor = new JMenuItem("BackgoundColor");//背景颜色
JMenuItem left = new JMenuItem("Left");//左对齐
JMenuItem center = new JMenuItem("Center");//居中
JMenuItem right = new JMenuItem("Right");//右对齐
JMenuItem date = new JMenuItem("Date",new ImageIcon("image/date.gif"));//日期
JMenuItem version = new JMenuItem("About",new ImageIcon("image/about.gif"));//关于
JMenuItem GroupItem=new JMenuItem("About study java",new ImageIcon("image/java.gif"));//关于学习Java
JMenuItem show=new JMenuItem("Myshow",new ImageIcon("image/show.gif"));
JMenuItem helptheme=new JMenuItem("HelpTheme(H)",new ImageIcon("image/help.gif"));//帮助主题
//-------------------弹出式菜单选项--------------------------------------------
JMenuItem itemcopy=new JMenuItem("Copy");
JMenuItem itemcut=new JMenuItem("Cut");
JMenuItem itempaste=new JMenuItem("Paste");
JMenuItem itemselectall=new JMenuItem("SelectAll");
JMenuItem itemdeleteall=new JMenuItem("DeleteAll");
JTextPane ta = new JTextPane();
JFileChooser chooser = new JFileChooser();
FileInputStream filestream = null;
myversion exitversion = new myversion();
study exitve = new study();
public Frame1(String s)
{
super(s);
chooser.setSize(400, 350);
chooser.setVisible(true);
Font f = new Font("TimesRoman", Font.PLAIN, 16);
ta.setFont(f);
c = this.getContentPane();
jLabel=new JLabel("输入连接的网址");
tf=new JTextField("http://");
tf.addActionListener(new MyFieldDealing());
JPanel panel=new JPanel();
panel.setLayout(new GridLayout(2,1));
panel.add(jLabel);
panel.add(tf);
c.add(panel,BorderLayout.NORTH);
c.add(ta, "Center");
this.setJMenuBar(jmb);
ta.setLayout(new FlowLayout(FlowLayout.LEFT));
content=new JEditorPane();
content.setEditable(false);
content.setLayout(new FlowLayout(FlowLayout.RIGHT));
splitPane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,ta,content);
splitPane.setDividerLocation(600);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
c.add(splitPane,BorderLayout.CENTER);
c.validate();
validate();
//--------------------------工具条--------------------------------------
JToolBar jt=new JToolBar();
jt.add(new Label("wuhan university of science and engineering"));
c.add(jt,BorderLayout.SOUTH);
//-----------------------------------日期的显示---------------------------------
String yue=String.valueOf(cal.get(Calendar.MONTH)+1);
int week=cal.get(Calendar.DAY_OF_WEEK)-1;
String wk=null;
if(week==1) wk="Monday";
else if(week==2) wk="Tuesday";
else if(week==3) wk="Wednesday";
else if(week==4) wk="Thursday";
else if(week==5) wk="Friday";
else if(week==6) wk="Saturday";
else if(week==0) wk="Sunday";
jt.addSeparator();
jt.add(new Label(" present time : "+cal.get(Calendar.YEAR)+"--"+yue+"--"+cal.get(Calendar.DAY_OF_MONTH)+" "+wk)); add(jt,BorderLayout.SOUTH);
//--------------------------加载图标------------------------------------
jbutton1=new JButton(new ImageIcon("image/new.gif"));
jbutton2=new JButton(new ImageIcon("image/open.gif"));
jbutton3=new JButton(new ImageIcon("image/save.gif"));
jbutton4=new JButton(new ImageIcon("image/copy.gif"));
jbutton5=new JButton(new ImageIcon("image/paste.gif"));
jbutton6=new JButton(new ImageIcon("image/cut.gif"));
jbutton7=new JButton(new ImageIcon("image/print.gif"));
jbutton1.setToolTipText("New");
jbutton2.setToolTipText("Open");
jbutton3.setToolTipText("Save as");
jbutton4.setToolTipText("Copy");
jbutton5.setToolTipText("Paste");
jbutton6.setToolTipText("Cut");
jbutton7.setToolTipText("Print");
//-------------------------pane2---------------------------------------
JPanel pane2=new JPanel();
FlowLayout a=new FlowLayout();
a.setAlignment(FlowLayout.LEFT);
pane2.setLayout(new GridLayout(2,1));
pane2.setLayout(a);
pane2.add(jbutton1);
pane2.add(jbutton2);
pane2.add(jbutton3);
pane2.add(jbutton4);
pane2.add(jbutton5);
pane2.add(jbutton6);
pane2.add(jbutton7);
c.add(pane2,BorderLayout.NORTH);
//-------------------用BOX把两个Panel上下摆放----------------------
Box box=Box.createVerticalBox();
box.add(pane2);
box.add(Box.createVerticalStrut(2));
box.add(panel);
add(box,BorderLayout.NORTH);
//--------------------------------------- 使用快捷键-----------------------------------------------
New.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_DOWN_MASK));
open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_0,InputEvent.CTRL_DOWN_MASK));
print.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_DOWN_MASK));
select.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_DOWN_MASK));
delete.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,InputEvent.CTRL_DOWN_MASK));
copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_DOWN_MASK));
cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_DOWN_MASK));
paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_DOWN_MASK));
//----------------------增加各个分支------------------------------
jmb.setLayout(new FlowLayout(FlowLayout.LEFT));//居左的布局对象
jmb.add(file); //将文件加到菜单条中
jmb.add(edit); //将编辑加到菜单条中
jmb.add(option);//将字体加到菜单条中
jmb.add(look); //将查看加到菜单条中
jmb.add(format); //将格式加到菜单条中
jmb.add(help); //将帮助加到菜单条中
file.add(New); //将新建加到文件项中
file.add(open); //将打开加到文件项中
file.add(save); //将另存为加到文件项中
file.addSeparator();//分组条
file.add(print);//将打印加到文件项中
file.addSeparator();//分组条
file.add(exit); //将退出加到文件项中
edit.add(select);//将全选加到编辑项中
edit.addSeparator();//分组条
edit.add(copy);//将复制加到编辑项中
edit.add(cut);//将剪切加到编辑项中
edit.add(paste);//将粘贴加到编辑项中
edit.addSeparator();//分组条
edit.add(delete);//将删除全部加到编辑项中
option.add(italic);//将斜体加到字体项中
option.add(bold); //将粗体加到字体项中
option.add(underline);//将划斜线加到字体项中
look.add(version); //将关于加到查看项中
look.add(GroupItem);//将关于学习Java加到查看项中
look.add(show);//将我的说明加到查看项中
format.add(color); //将颜色加到格式项中
format.addSeparator();//分组条
format.add(alignmanner);//将对齐方式加到格式项中
format.addSeparator();//分组条
format.add(date);//将日期加到格式项中
color.add(fontcolor);//将字体颜色加到颜色项中
color.add(backgroundcolor);//将背景颜色加到颜色项中
alignmanner.add(left);//将左对齐加到对齐方式项中
alignmanner.add(center);//将居中加到对齐方式项中
alignmanner.add(right);//将右对齐加到对齐方式项中
help.add(helptheme);//将帮助主题加到帮助项中
helptheme.setAccelerator(KeyStroke.getKeyStroke('H'));
//------------将菜单选项加到弹出式菜单中-----------------------------------
menu.add(itemcopy);
menu.add(itempaste);
menu.add(itemcut);
menu.add(itemselectall);
menu.add(itemdeleteall);
//--------------------------------右键事件--------------------------------------
ta.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
if(e.getModifiers()==InputEvent.BUTTON3_MASK)
{
menu.show(ta,e.getX(),e.getY());
}
}
});
//----------------------各个事件------------------------------------------
New.addActionListener(new NewListener());//新建事件
open.addActionListener(new ListenActionForJfilechooser());//打开事件
save.addActionListener(new ListenActionForJfilechooser());//另存为事件
print.addActionListener(new ListenActionForJfilechooser());//打印事件
exit.addActionListener(new exitListener());//退出事件
copy.addActionListener(new copyListener());//复制事件
cut.addActionListener(new cutListener());//剪切事件
paste.addActionListener(new pasteListener());//粘贴事件
select.addActionListener(new selectListener());//全选事件
delete.addActionListener(new deleteListener());//删除全部事件
italic.addActionListener(new italicListener());//斜体事件
bold.addActionListener(new boldListener());//粗体事件
version.addActionListener(new showversion());//关于事件
GroupItem.addActionListener(new showver());//关于学习Java事件
show.addActionListener(new ListenActionForJfilechooser());//关于我的说明事件
fontcolor.addActionListener(new ListenActionForJfilechooser());//字体颜色事件
backgroundcolor.addActionListener(new ListenActionForJfilechooser());//背景颜色事件
left.addActionListener(new ListenActionForJfilechooser());//左对齐事件
center.addActionListener(new ListenActionForJfilechooser());//居中事件
right.addActionListener(new ListenActionForJfilechooser());//右对齐事件
date.addActionListener(new dateListener());//日期事件
content.addHyperlinkListener(new MyHyperListener());//连接网页事件
ta.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
b=true;
}
});
//-------------------图标触发事件------------------------------------
jbutton1.addActionListener(new NewListener());
jbutton2.addActionListener(new ListenActionForJfilechooser());
jbutton3.addActionListener(new ListenActionForJfilechooser());
jbutton4.addActionListener(new copyListener());
jbutton5.addActionListener(new pasteListener());
jbutton6.addActionListener(new cutListener());
jbutton7.addActionListener(new ListenActionForJfilechooser());
//-------------------弹出式菜单中的各个选项的触发事件------------------
itemcopy.addActionListener(new copyListener());
itemcut.addActionListener(new cutListener());
itempaste.addActionListener(new pasteListener());
itemselectall.addActionListener(new selectListener());
itemdeleteall.addActionListener(new deleteListener());
//-----------------------------------关闭对话框---------------------------------
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
if(b=true)
{
int n=JOptionPane.showConfirmDialog(ta,"是否保存当前修改的内容","景莉莉提醒您",JOptionPane.YES_NO_OPTION);
if(n==JOptionPane.YES_OPTION)
{
save();
}
else if(n==JOptionPane.NO_OPTION)
{
ta.setText(null);
}
}
}
});
}
//-------------------------------------键盘事件---------------------------------
//--------------------------粗体------------------------
class boldListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
Font f = new Font("TimesRoman", Font.BOLD, 16);
ta.setFont(f);
}
}
//-----------------------斜体-----------------------------
class italicListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
Font f = new Font("TimesRoman", Font.ITALIC, 16);
ta.setFont(f);
}
}
//---------------------删除全部-----------------------------
class deleteListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==delete||e.getSource()==itemdeleteall)
{
Font f = new Font("TimesRoman", Font.PLAIN, 16);
ta.setText(null);
ta.setFont(f);
}
}
}
//-------------------选择全部--------------------------------
class selectListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==select||e.getSource()==itemselectall)
ta.selectAll();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -