1、记事本文本面板
import java.awt.BorderLayout;
import java.awt.Rectangle;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class NotepadFrame extends JFrame{
private static final long serialVersionUID = -6328781535000523502L;
private JScrollPane jsp;
private JTextArea jta;
private JMenuBar jmb;
public NotepadFrame(String title) {
super(title);
int x, y;
int width=800,height=600;
x=(Toolkit.getDefaultToolkit().getScreenSize().width-width)/2;
y=(Toolkit.getDefaultToolkit().getScreenSize().height-height)/2-50;
this.setLayout(new BorderLayout());
this.setBounds(new Rectangle(x, y, width, height));
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.addComponent();
this.addMenuBar();
}
/**
* 添加组件
*/
public void addComponent() {
jta=new JTextArea();
jsp=new JScrollPane(jta);
this.add(jsp,BorderLayout.CENTER);
}
/**
* 添加菜单
*/
public void addMenuBar() {
this.jmb=new MenuBar();
this.setJMenuBar(jmb);
}
}
2、记事本菜单设计
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;
public class MenuBar extends JMenuBar{
private static final long serialVersionUID = -1822798226977402168L;
public JMenu[] mainMenu;
public JMenuItem[][] subMenu;
public MenuBar() {
//main menu label
String[] mainMenuLabel={"文件(F)","编辑(E)","格式(O)","查看(V)","帮助(H)"};
//二级菜单标签
String[][] subMenuLabel={{"新建(N)","打开(O)...","保存(S)","另存为(A)...","页面设置(U)","打印(P)","退出(X)"},
{"撤销(U)","剪切(T)","复制(C)","粘贴(P)","删除(L)","查找(F)...","替换(R)...","全选(A)","日期(D)"},
{"自动换行(W)","字体(F)","颜色(C)"},
{"状态栏(S)"},{"帮助主题(H)","关于记事本(A)..."}};
//主菜单助记符
char[] mainMenuMnem={'F','E','O','V','H'};
//二级菜单助记符
char[][] subMenuMnem={{'N','O','S','A','U','P','X'},
{'U','T','C','P','L','F','R','A','D'},
{'W','F','C'},{'S'},{'H','A'}};
//二级菜单分割线,那个二级菜单下有分隔线,则为true
boolean[][] subMenuSep={{false,false,false,true,false,true,false},
{true,false,false,false,true,false,true,false,false},
{false,false,false},{false},{true,false}};
//快捷键
KeyStroke[][] subMenuKey={{KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK),
null,null,KeyStroke.getKeyStroke(KeyEvent.VK_P, InputEvent.CTRL_MASK),null},
{KeyStroke.getKeyStroke(KeyEvent.VK_Z, InputEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0),
KeyStroke.getKeyStroke(KeyEvent.VK_F, InputEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK),
KeyStroke.getKeyStroke(KeyEvent.VK_F5, 0)},
{null,null,null},
{null},{null,null}};
mainMenu=new JMenu[5];
subMenu=new JMenuItem[5][];
for(int i=0;i<mainMenu.length;i++) {
mainMenu[i]=new JMenu(mainMenuLabel[i]);
mainMenu[i].setMnemonic(mainMenuMnem[i]);
subMenu[i]=new JMenuItem[subMenuLabel[i].length];
for(int j=0;j<subMenu[i].length;j++) {
subMenu[i][j]=new JMenuItem(subMenuLabel[i][j]);
subMenu[i][j].setMnemonic(subMenuMnem[i][j]);
mainMenu[i].add(subMenu[i][j]);
if(subMenuSep[i][j]) mainMenu[i].addSeparator();
if(subMenuKey[i][j]!=null) subMenu[i][j].setAccelerator(subMenuKey[i][j]);
}
this.add(mainMenu[i]);
}
}
}
3、窗体及启动
public class Demo {
/**
* @param args
*/
public static void main(String[] args) {
NotepadFrame notepad=new NotepadFrame("Java版 记事本-Mr.Rong");
notepad.setVisible(true);
}
}
分享到:
相关推荐
【安卓开发】安卓实战:记事本应用开发 Android平台开发 【安卓开发】安卓实战:记事本应用开发 Android平台开发 【安卓开发】安卓实战:记事本应用开发 Android平台开发
Java课程设计实训大作业:记事本+简易计算器+聊天系统+日历+中英查询 基础任务一:设计日历软件 根据如下图,综合运用GUI编程、事件处理、Calendar类应用等知识设计一款月历,要求能通过输入(或选择)年月的方式...
Android项目实例:记事本 列表展示添加的笔记(包括笔记的题目,内容,创建时间) 右下角添加笔记,点击笔记可以进入编辑页面,长按笔记可以删除和编辑笔记 右上角的搜索图标点击,可以进行模糊查询,右上角按钮可以...
**JAVA 记事本程序源代码详解** 在Java编程领域,开发一个类似于Windows操作系统自带的记事本程序是一项基础但全面的任务。这个程序能够帮助初学者深入理解Java的基础语法、IO流操作、事件处理和GUI设计等多个核心...
【基于Java的GUI界面的日历记事本】是一款集成了日历和记事功能的桌面应用程序,它利用Java的图形用户界面(GUI)技术来提供一个直观易用的平台,让用户能够轻松地管理日常生活中的事件和提醒。在这个系统中,用户...
记事本
学习记事本的源代码可以帮助开发者更好地理解和掌握Windows编程基础,包括GUI设计、文件操作、事件驱动编程等。同时,也能提升对文本处理和内存管理的理解,这对于任何需要进行文本操作的软件开发都是非常有价值的。...
在这个特定的案例中,"java GUI notepad" 是一个使用Java GUI编写的简单记事本程序。这个程序可能实现了基本的文本编辑功能,如打开、保存、复制、粘贴、查找和替换等,这些都是一个标准记事本应用通常会提供的。 ...
这个项目,名为“日历记事本实现”,是基于Java编程语言设计的,旨在提供一个GUI(图形用户界面)来展示日历,并且能够支持在日历上添加事件的功能。这是一个典型的课程设计项目,有助于学生理解和掌握Java GUI编程...
java GUI类制作的记事本小程序 ,内容解释的很详细
Java制作记事本 Java制作记事本 Java制作记事本 Java制作记事本Java制作记事本 Java制作记事本
一个简单的JAVA记事本,拥有记事本基本功能,并有显示当前时间,更改背景颜色和字体颜色功能
这个名为"C#制作记事本.rar"的压缩包文件显然包含了一个使用C#编程语言实现的简单记事本程序。这个项目对于初学者来说是很好的实践案例,因为它涉及到基础的GUI(图形用户界面)设计、文本处理以及事件处理等核心...
wpf 制作的记事本wpf 制作的记事本wpf 制作的记事本wpf 制作的记事本wpf 制作的记事本wpf 制作的记事本wpf 制作的记事本
Java 编程语言在开发桌面应用方面...总的来说,这个Java记事本项目涵盖了GUI编程的基础,事件处理,文件操作以及一些进阶特性。通过这个项目,开发者可以深入了解Java Swing 库,并增强其在桌面应用开发方面的技能。
2. **图形用户界面(GUI)编程**:Java记事本项目涉及到GUI编程,使用Java的Swing或JavaFX库来创建用户界面。Swing是Java AWT(Abstract Window Toolkit)的扩展,提供了丰富的组件库,如JFrame(窗口)、JButton...
标题中的“pictures:记事本的Pic Bed”可能是指一个项目或者工具,它与记事本应用程序相关,并且专门用于图片处理或管理。虽然没有提供详细的标签,我们可以根据标题推测这个“Pic Bed”可能是记事本的一个扩展或者...
【标题】"JAVA大作业文本编辑器(记事本)txt(含代码)"涉及的核心知识点主要围绕Java编程语言,特别是GUI(图形用户界面)设计,文件操作和文本处理。这个项目是一个基于Java实现的文本编辑器,类似于Windows系统的...
标题中的“记事本:记事本criado com a biblioteca tkinter”表明这是一个使用Python的Tkinter库创建的简易文本编辑器,通常被称为记事本程序。Tkinter是Python的标准图形用户界面(GUI)库,它允许开发者创建交互式...
【VB制作简易记事本】项目是一个初学者在实习期间使用Visual Basic(VB)编程语言构建的简单文本编辑器,其设计灵感来源于Windows系统自带的记事本应用程序。这个项目旨在帮助用户理解VB的基本概念,以及如何利用VB...