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

📄 mynotepadui.java

📁 自己用Java写的记事本加聊天的集成软件。方便大家的使用。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package main;

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import server.*;
import server.Help;
import client.*;


import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JToolBar;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingConstants;
import javax.swing.JPopupMenu;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.UIManager;

public class MyNotePadUI extends JFrame implements ActionListener{
	private JMenuItem newItem;
	private JMenuItem open;
	private JMenuItem save;
	private JMenuItem saveAs;
	private JMenuItem exit;
	
	
	private JMenu editMenu;
	private JMenuItem cut;
	private JMenuItem copy;
	private JMenuItem paste;
	private JMenuItem changeLine;
	private JMenuItem cancleChangeLine;
	private JMenuItem top;
	private JMenuItem cancleOnTop;
	
	
	private JMenuItem about;
	
	private JMenuItem chatServer;
	private JMenuItem chatClient;
	
	private JMenuItem fontItem;
	private JMenuItem redItem = new JMenuItem("Red");
	private JMenuItem blackItem = new JMenuItem("Black");
	private JMenuItem yellowItem = new JMenuItem("Yellow");
	private JMenuItem greenItem = new JMenuItem("Green");
	private JMenuItem blueItem = new JMenuItem("Blue");
	private JMenu background;
	private JMenuItem redBG = new JMenuItem("Red");;
	private JMenuItem whiteBG = new JMenuItem("White");
	private JMenuItem greenBG = new JMenuItem("Green");
	private JMenuItem blueBG = new JMenuItem("Blue");
	private JMenuItem blackBG = new JMenuItem("Black");
	private JMenuItem yellowBG = new JMenuItem("Yellow");
	private JMenuItem resetItem;


	
	private JMenuItem helpItem;
	
	
	
		
	private JTextArea 	textArea;
	
	
	private JPopupMenu popUpMenu;
	
	private JLabel stateBar;
	
	private JFileChooser fileChooser;
	
	private JButton newButton;
	private JButton openButton;
	private JButton saveButton;
	private JButton chatServerButton;
	private JButton chatClientButton;
	
	public MyNotePadUI(){
		super("New File");		
		setUpUIComponent();
		setUpEventListener();
		setVisible(true);		
	}
	private void setUpUIComponent(){	
		try { // 使用系统的界面风格
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
			  } catch (Exception e) {
			   e.printStackTrace();
			  }
		//设置窗口大小
		Dimension faceSize = new Dimension(800, 600);
		this.setSize(faceSize);
		//设置窗口位置
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		this.setLocation( (int) (screenSize.width - faceSize.getWidth())/ 2,
				 (int) (screenSize.height - faceSize.getHeight()) / 2);
		Container contentPane = getContentPane();
		setIconImage(Toolkit.getDefaultToolkit().createImage("images/BAT6.GIF"));  
		
		//菜单栏
		JMenuBar menuBar = new JMenuBar();
		JToolBar toolBar = new JToolBar();
		newButton = new JButton("New");
		ImageIcon iconNew= new ImageIcon("images/ICON_UP_PAPER.GIF");
		newButton.setIcon(iconNew);
		openButton = new JButton("Open");
		ImageIcon iconOpen= new ImageIcon("images/ICON_UP_ICON.GIF");
		openButton.setIcon(iconOpen);
		saveButton = new JButton("Save");
		ImageIcon iconSave = new ImageIcon("images/ICON_UP_SOFTWARE.GIF");
		saveButton.setIcon(iconSave);
		chatServerButton = new JButton("Server");
		ImageIcon iconServer= new ImageIcon("images/ICON_UP_EXPLORER.GIF");
		chatServerButton.setIcon(iconServer);
		chatClientButton = new JButton("Client");
		ImageIcon iconClient= new ImageIcon("images/ICON_UP_Link.GIF");
		chatClientButton.setIcon(iconClient);
		toolBar.add(newButton);
		toolBar.addSeparator();
		toolBar.add(openButton);
		toolBar.addSeparator();
		toolBar.add(saveButton);
		toolBar.addSeparator();
		toolBar.add(chatServerButton);
		toolBar.addSeparator();
		toolBar.add(chatClientButton);
		contentPane.add(toolBar,BorderLayout.NORTH);
		//设置文件菜单
		JMenu fileMenu = new JMenu("File");
		newItem = new JMenuItem("New");
		open = new JMenuItem("Open");
		save = new JMenuItem("Save");
		saveAs = new JMenuItem("Save As");
		exit = new JMenuItem("Exit");
		
		fileMenu.add(newItem);
		fileMenu.addSeparator();;
		fileMenu.add(open);
		fileMenu.addSeparator();
		fileMenu.add(save);		
		fileMenu.add(saveAs);
		fileMenu.addSeparator();
		fileMenu.add(exit);
		
		//设置编辑菜单
		editMenu = new JMenu("Edit");
		copy = new JMenuItem("Copy");
		cut = new JMenuItem("Cut");
		paste = new JMenuItem("Paste");
		changeLine = new JMenuItem("Auto change line");
		cancleChangeLine = new JMenuItem("Cancle");
		top = new JMenuItem("Always on top");
		cancleOnTop = new JMenuItem("Cancle");
		
				
		editMenu.add(copy);
		editMenu.addSeparator();
		editMenu.add(cut);
		editMenu.addSeparator();
		editMenu.add(paste);
		editMenu.addSeparator();
		editMenu.add(top);
		editMenu.add(cancleOnTop);
		editMenu.addSeparator();
		editMenu.add(changeLine);
		editMenu.add(cancleChangeLine);
		
		//设置关于菜单
		JMenu aboutMenu = new JMenu("About");
		about = new JMenuItem("About MyNotePad");
		
		aboutMenu.add(about);
		
		//设置聊天菜单
		JMenu chatMenu = new JMenu("Chat");
		chatServer = new JMenuItem("ChatServer");
		chatClient = new JMenuItem("ChatClient");		
		chatMenu.add(chatServer);
		chatMenu.addSeparator();
		chatMenu.add(chatClient);
		
		//设置格式菜单
		background = new JMenu("Background");
		JMenu formatMenu = new JMenu("Format");
	    fontItem = new JMenuItem("Font");
		resetItem = new JMenuItem("Reset");
	    JMenu colorMenu = new JMenu("Color");		
		formatMenu.add(fontItem);		
		formatMenu.addSeparator();
		formatMenu.add(colorMenu);
		formatMenu.addSeparator();
		formatMenu.add(background);
		formatMenu.addSeparator();
		formatMenu.add(resetItem);
		
		
		colorMenu.add(redItem);
		colorMenu.addSeparator();
		colorMenu.add(blackItem);
		colorMenu.addSeparator();
		colorMenu.add(yellowItem);
		colorMenu.addSeparator();
		colorMenu.add(greenItem);
		colorMenu.addSeparator();
		colorMenu.add(blueItem);				
		background.add(redBG);
		background.addSeparator();
		background.add(blueBG);
		background.addSeparator();
		background.add(whiteBG);
		background.addSeparator();
		background.add(greenBG);
		background.addSeparator();
		background.add(blackBG);
		background.addSeparator();
		background.add(yellowBG);
		
		
		
		//设置帮助菜单
		JMenu helpMenu = new JMenu("Help");
		helpItem = new JMenuItem("Help");
		helpMenu.add(helpItem);
				
		
		menuBar.add(fileMenu);
		menuBar.add(editMenu);
		menuBar.add(formatMenu);
		menuBar.add(chatMenu);		
		menuBar.add(helpMenu);
		menuBar.add(aboutMenu);
		
		//设置菜单栏
		setJMenuBar(menuBar);
		
		//文字编辑区域
		textArea = new JTextArea();
		textArea.setFont(Font.getFont("宋体"));		
		textArea.setLineWrap(true);
		JScrollPane panel = new JScrollPane(textArea,
				ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
				ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		
		
		contentPane.add(panel,BorderLayout.CENTER);
		
		//状态栏
		stateBar = new JLabel("Not changed");
		stateBar.setHorizontalAlignment(SwingConstants.LEFT);
		stateBar.setBorder(BorderFactory.createEtchedBorder());
		contentPane.add(stateBar,BorderLayout.SOUTH);
		
		popUpMenu = editMenu.getPopupMenu();
		fileChooser = new JFileChooser();
		FileNameExtensionFilter filter = new FileNameExtensionFilter(
    	        "Txt文档", "txt");
    	    fileChooser.setFileFilter(filter);
	}
    private void setUpEventListener(){
    	//click the close button to close the window
    	addWindowListener(
    			new WindowAdapter(){
    				public void windowClosing(WindowEvent e){
    					closeFile();
    				}
    			});
   
    	newItem.addActionListener(
    			new ActionListener(){
    				public void actionPerformed(ActionEvent e){    				   
    				    if(!isCurrentFileSaved()){
    				    	int option = JOptionPane.showConfirmDialog(null,"The file has not been saved,do you save it?",
    			    				"Save the file?",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE,null);
    			    		switch(option){
    			    		case JOptionPane.YES_OPTION:
    			    			saveFile();break;
    			    		default:
    			    			break;
    			    		}
    			    	}    				    
    				       textArea.setText("");    				   
   					       setTitle("New File");
   					       stateBar.setText("Not changed");
    				    
    				}
    			});
    	newButton.addActionListener(
    			new ActionListener(){
    				public void actionPerformed(ActionEvent e){    				   
    				    if(!isCurrentFileSaved()){
    				    	int option = JOptionPane.showConfirmDialog(null,"The file has not been saved,do you save it?",
    			    				"Save the file?",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE,null);
    			    		switch(option){
    			    		case JOptionPane.YES_OPTION:
    			    			saveFile();break;
    			    		default:
    			    			break;    			    			
    			    		}
    			    	}    				    
    				       textArea.setText("");    				   
   					       setTitle("New File");
   					       stateBar.setText("Not changed");
    				    
    				}
    			});
    	
    	//MenuItem-Open
    	open.addActionListener(
    			new ActionListener(){
    				public void actionPerformed(ActionEvent e){
    					openFile();
    				}
    			});
    	openButton.addActionListener(
    			new ActionListener(){
    				public void actionPerformed(ActionEvent e){
    					openFile();
    				}
    			});
    	
    	//MenuItem-Save
    	save.addActionListener(
    			new ActionListener(){
					public void actionPerformed(ActionEvent e) {
						saveFile();						
					}
    				
    			});
    	saveButton.addActionListener(
    			new ActionListener(){
					public void actionPerformed(ActionEvent e) {
						saveFile();						
					}
    				
    			});
    	
    	//MenuItem-Save As
    	saveAs.addActionListener(
    			new ActionListener(){
    				public void actionPerformed(ActionEvent e){
    					saveFileAs();
    				}
    			});
    	
       //MenuItem-Exit
    	exit.addActionListener(
    			new ActionListener(){
    				public void actionPerformed(ActionEvent e){
    					closeFile();
    				}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -