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

📄 gui.java

📁 使用面向对象方法完成“快速拼写检查程序”的分析、设计和实现过程。快速拼写检查程序基本要求说明如下: 1.进行拼写检查的文件以文本文件形式存储于外存上;2.只检查文件中英文单词的拼写错误;3.单词是用字
💻 JAVA
字号:
package tokenchecker;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.text.*;
import javax.swing.event.*;
import javax.swing.*;
import java.beans.*;
import javax.swing.plaf.*;
import javax.swing.plaf.metal.DefaultMetalTheme;
import javax.swing.plaf.metal.MetalLookAndFeel;
/**
 * class GUI is the main interface
 */
 
 class GUI extends JFrame implements ActionListener {
	
	private DefaultData data;
	private TokenChecker checker;
	private final int RECENT_FILES = 4;
	private Vector recentFiles;
 	private final String usage = "USEAGE:  这是一个快速单词拼写程序";
 	private String currentLookAndFeel = "javax.swing.plaf.metal.MetalLookAndFeel";
 	private static final String metal    =
            "javax.swing.plaf.metal.MetalLookAndFeel";
    private static final String motif    =
            "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
    private static final String windows  =
            "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
 	private JFileChooser chooser;
 	private JMenu recentFilesMenu;
 	private JMenu style;
 	private JDesktopPane desktop;
 	private LinkedList comps;
 	private DefaultMetalTheme defaultTheme;
 	private DefaultMetalTheme aquaTheme;
 	private DefaultMetalTheme charcoalTheme;
 	private DefaultMetalTheme contrastTheme;
 	private DefaultMetalTheme emeraldTheme;
 	private DefaultMetalTheme rubyTheme;
	private ActionListener openAction,saveAction,exitAction;
	private int offsetX = 0,offsetY = 0;
 	
 	int count = 0;
 	public GUI() {
 		super("快速拼写程序");
 		init();
 	}
 	public void init() {
 		checker = new TokenChecker();
 		data = new DefaultData();
 		recentFiles = new Vector(RECENT_FILES);
 		Container c = this.getContentPane();
		comps = new LinkedList();
 		chooser = new JFileChooser();
 		chooser.setCurrentDirectory(new File("."));
 		comps.add(chooser);
 		defaultTheme = new DefaultMetalTheme();
 		aquaTheme = new AquaTheme();
 		charcoalTheme = new CharcoalTheme();
 		contrastTheme = new ContrastTheme();
 		emeraldTheme = new EmeraldTheme();
 		rubyTheme = new RubyTheme();
 		desktop = new JDesktopPane();
 		desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
 		c.add(desktop); 
 		this.addWindowListener(new WindowsHandler());	
    	this.setJMenuBar(createJMenuBar());
 		this.setSize(800,600);
 		this.setLocation(100,50);
 		this.setDefaultCloseOperation(this.DO_NOTHING_ON_CLOSE);
 		this.setVisible(true);
 	}
 	
  	public JFrame getFrame() {
 		
 		return this;
 	}
 	
 	public JMenuBar createJMenuBar() {

 		JMenuBar bar = new JMenuBar();
 		JMenu fileMenu = createJMenu("File",'F');//菜单
 		openAction = new OpenAction();
 		JMenuItem open = createJMenuItem("Open",
 				new ImageIcon(getClass().getResource("open.gif")));//打开菜单项
 		open.addActionListener(openAction);
 		open.registerKeyboardAction(openAction,
 			KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK),
 			JComponent.WHEN_IN_FOCUSED_WINDOW);//设置快捷键
 		fileMenu.add(open);

 		JMenuItem save = createJMenuItem("Save",
 			new ImageIcon(getClass().getResource("save.gif")));//保存菜单项
 		saveAction = new SaveAction();
 		save.addActionListener(saveAction);
 		save.registerKeyboardAction(saveAction,
 			KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK),
 			JComponent.WHEN_IN_FOCUSED_WINDOW);//设置快捷键
 		fileMenu.add(save);
 		
 		fileMenu.addSeparator();
 		
 		recentFilesMenu = createJMenu("Resend Files",'R');//最近打开的文件菜单项	
 		fileMenu.add(recentFilesMenu);
 	
 		JMenuItem exit = createJMenuItem("Exit",null);//退出菜单项
 		exit.setMnemonic('X');
 		exitAction = new ExitAction();
 		exit.addActionListener(exitAction);
 		exit.registerKeyboardAction(exitAction,
 			KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK),
 			JComponent.WHEN_IN_FOCUSED_WINDOW);//设置快捷键
 		fileMenu.addSeparator();
 		fileMenu.add(exit);
 		bar.add(fileMenu);
 		
		JMenu dicMenu = createJMenu("Dictionary",'D');//词典菜单
		JRadioButtonMenuItem ignore = new JRadioButtonMenuItem("Ignore UpperCase");
		//ignore.setFont(new Font("TimesRoman",Font.PLAIN,14));
		ignore.setMnemonic('I');
		ignore.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(((JRadioButtonMenuItem)(e.getSource())).isSelected())
					checker.setIgnore(true);
			}	
		});
		dicMenu.add(ignore);
		JMenuItem set = createJMenuItem("Set default dictionary",null);//设置默认词典菜单项
		set.addActionListener(this);
		dicMenu.add(set);
		JMenuItem load = createJMenuItem("Load dictionary",null);//设置默认词典菜单项
		load.addActionListener(this);
		dicMenu.add(load);
		JMenuItem add = createJMenuItem("Add word",null);//添加单词菜单项
		add.addActionListener(this);
		dicMenu.add(add);
		JMenuItem remove = createJMenuItem("Remove word",null);//删除单词菜单项
		remove.addActionListener(this);
		dicMenu.add(remove);
		JMenuItem build  = createJMenuItem("Build dictionary",null);//创建词典菜单项
		build.addActionListener(this);
		dicMenu.add(build);
 		bar.add(dicMenu);
 		
 		JMenu lafMenu = createJMenu("L&F",'L');//观感菜单
		JMenuItem metal = createJMenuItem("Java",null);//Java观福

⌨️ 快捷键说明

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