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

📄 helpdialog.java

📁 记事本
💻 JAVA
字号:
package com.niit.NotaPad;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;

public class HelpDialog extends JDialog {
	private static final long serialVersionUID = 1001L;
	private JButton hide, forward, back, option;
	private JTextArea text,text2;
	private JScrollPane spanel,spanel2;
	private JPanel panel,panel1,panel2;
	private int i=0;
	private String[] str = new String[] { " & 符,插入", " ANSI", " Big Endian Unicode",
			" HTML 文档", " LOG 文件", " Macintosh,保存文件为", " TXT 文件",
			" Unicode", " Unicode 网站", " UTF-8", " Web 页", " 保存文档",
			" 擦除文本", " 插入日期和时间", " 插入文本", " 插入文件名", " 查找特定行", " 查找文本" };
	public HelpDialog(final JFrame frame) {

		super(frame, "记事本帮助");
		this.setBounds(200, 250, 600, 525);
		this.setResizable(false);
		//定义组件
		setLayout(null);
		this.setVisible(true);
		hide = new JButton("隐藏");
		back = new JButton("后退");
		back.setEnabled(false);
		forward = new JButton("前进");
		forward.setEnabled(false);
		option = new JButton("选项(O)");
		option.setMnemonic('o');
		
		JTabbedPane p1 = new JTabbedPane();
		PanelView view = new PanelView();
		PanelSe re = new PanelSe();
		PanelFind find = new PanelFind();
		p1.addTab("目录(C)", view);
		p1.addTab("索引(N)", re);
		p1.addTab("搜索(S)", find);
		text = new JTextArea();
		text.setEditable(false);
		spanel = new JScrollPane(text);
		spanel.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
		text2 = new JTextArea();
		text2.setEditable(false);
		spanel2 = new JScrollPane(text2);
		spanel2.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
		setmodel(hide, 0, 5, 60, 40);
		setmodel(back, 60, 5, 60, 40);
		setmodel(forward, 120, 5, 60, 40);
		setmodel(option, 180, 5, 78, 40);
		setmodel(new JSeparator(SwingConstants.HORIZONTAL), 0, 47, 600, 1);
		panel1=new JPanel(new GridLayout(1,2));
		panel1.add(p1);
		panel1.add(spanel);
		panel2=new JPanel(null);
		spanel2.setBounds(0,0 , 290, 525);
		panel2.add(spanel2); 
		//========采用卡片布局实现隐藏与显示的切换=====
		final CardLayout card = new CardLayout(); 
		panel=new JPanel(card);
		panel.add(panel1,"first");
		panel.add(panel2,"last");
		setmodel(panel,5,48,585,450);
		card.first(panel);
		hide.addActionListener(new ActionListener() { 
			public void actionPerformed(ActionEvent arg0) {
				//采用定义了一个整形变量来判断显示与隐藏和点击次数之间的切换
				if(i%2==0)
				{	hide.setText("显示");
					HelpDialog.this.setBounds(400, 250, 300, 525);
					card.last(panel);
					text2.setText(text.getText());
					i++;
				} else
				{
					hide.setText("隐藏"); 
					HelpDialog.this.setBounds(200, 250, 600, 525);
					card.first(panel);
					text.setText(text2.getText());
					i++;
				} 
			} 
		}); 
	}
	//==========采用空布局,根据坐标控制组件 的位置=====
	public void setmodel(JComponent b, int i, int j, int k, int m) {
		b.setBounds(i, j, k, m);
		HelpDialog.this.add(b);
	}

	class PanelView extends JPanel {
		public PanelView() {
			setLayout(new GridLayout(1, 1));
			DefaultMutableTreeNode notePad = new DefaultMutableTreeNode("记事本");
			//=====显示页面:树形目录,定义节点=====
			JTree avm = new JTree(notePad);
			notePad.add(new DefaultMutableTreeNode("记事本概述"));
			notePad.add(new DefaultMutableTreeNode("查找特定的字或词"));
			notePad.add(new DefaultMutableTreeNode("查找并替换特定的字或词"));
			notePad.add(new DefaultMutableTreeNode("根据窗口大小换行"));
			notePad.add(new DefaultMutableTreeNode("转到特定行"));
			notePad.add(new DefaultMutableTreeNode("剪切、复制、粘贴或删除文本"));
			notePad.add(new DefaultMutableTreeNode("更改字形和大小"));
			notePad.add(new DefaultMutableTreeNode("创建标题或页脚"));
			notePad.add(new DefaultMutableTreeNode("更改记事本文档的打印外观"));
			notePad.add(new DefaultMutableTreeNode("打印记事本文档"));
			add(avm);
		}
	}

	class PanelSe extends JPanel {
		private JLabel label;
		private JTextField field;
		private JButton show;
		private JList list;
		//==========索引页面===============
		public PanelSe() {
			label = new JLabel(
					"键入要查找的关键字(W):                                         ");
			field = new JTextField("", 26);
			list = new JList(str);
			JScrollPane jsp = new JScrollPane(list);
			list.setVisibleRowCount(16);
			list.setSelectionMode(1);
			list.setFixedCellWidth(270);
			show = new JButton("显示(D)");
			show.setMnemonic('D');
			add(label);
			add(field);
			add(jsp);
			add(show);
		}
	}

	class PanelFind extends JPanel {
		private JLabel label,showLabel,nlabel;
		private JTextField field;
		private JButton show,title;
		private JList list;
		//=============搜索页面========
		public PanelFind() {
			label = new JLabel(
					"键入要查找的关键字(W):                                         ");
			title=new JButton("列出主题(L)");
			title.setMnemonic('L');
			nlabel=new JLabel("                                                   ");
			showLabel = new JLabel(
			"选择要显示的主题(W):                                         "); 
			field = new JTextField("", 24);
			list = new JList( );
			JScrollPane jsp = new JScrollPane(list);
			list.setVisibleRowCount(17);
			list.setSelectionMode(1);
			list.setFixedCellWidth(270);
			show = new JButton("显示(D)");
			show.setMnemonic('D');
			add(label);
			add(field);
			add(nlabel);
			add(title);
			add(showLabel);
			add(jsp); 
			add(show);

		}
	}

}

⌨️ 快捷键说明

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