⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example.java

📁 它既有文本编辑器的功能又有浏览器的功能.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
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 + -