很久之前写过的,凑合着看吧,
package 个人练习;import javaawtFileDialog;
import javaawtMenu;
import javaawtMenuBar;
import javaawtMenuItem;
import javaawtTextArea;
import javaawteventActionEvent;
import javaawteventActionListener;
import javaawteventWindowAdapter;
import javaawteventWindowEvent;
import javaawteventWindowListener;
import javaioBufferedInputStream;
import javaioBufferedOutputStream;
import javaioBufferedReader;
import javaioFile;
import javaioFileInputStream;
import javaioFileOutputStream;
import javaioInputStreamReader;
import javaioOutputStreamWriter;
import javaioPrintWriter;
import javaioWriter;
import javasqlSavepoint;
import javaxswingJFrame;
/
创建一个类似记事本的程序
该程序拥有自己的书写窗口
可以自定义保存地址
@author Administrator
/
/
创建记事本类
实现ActionListener接口
重写它的actionPerformed方法
/
public class JiShiBen implements ActionListener {
//拥有自己的窗口
JFrame frame=new JFrame("记事本程序");
//菜单栏
MenuBar menubar=new MenuBar();
//创建下拉菜单
Menu wenjian=new Menu("文件");
//创建保存按钮
MenuItem dakai=new MenuItem("打开文件");
MenuItem baochun=new MenuItem("保存");
MenuItem xinjian=new MenuItem("新建");
//创建可以显示文本的多行区域
TextArea wenben=new TextArea();
//显示一个对话窗口,用户选择一个文件,如果模式是SAVE,则寻找一个地方去写入一个文件
FileDialog fd;
File file=null;
/
创建jishiben的构造函数
/
public JiShiBen(){
framesetMenuBar(menubar);//将菜单栏关联到窗口
menubaradd(wenjian);//将下拉菜单添加到菜单栏
wenjianadd(xinjian);
wenjianadd(dakai);//将保存按钮添加到下拉菜单
wenjianadd(baochun);
dakaiaddActionListener(this);//由baochuan按钮接受处理 *** 作事件
baochunaddActionListener(this);
xinjianaddActionListener(this);
frameadd(wenben);//将文本区域添加到窗口
//设置窗口的属性
framesetSize(600,480);
framesetLocation(200, 200);
framesetVisible(true);
/
用于接收窗口事件的侦听器接口。
旨在处理窗口事件的类要么实现此接口(及其包含的所有方法),
要么扩展抽象类 WindowAdapter(仅重写所需的方法)。
然后使用窗口的 addWindowListener 方法将从该类所创建
的侦听器对象向该 Window 注册。
当通过打开、关闭、激活或停用、
图标化或取消图标化而改变了窗口状态时,
将调用该侦听器对象中的相关方法,
并将 WindowEvent 传递给该方法。
windowClosing(WindowEvent e)
用户试图从窗口的系统菜单中关闭窗口时调用。
/
frameaddWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
Systemexit(0);//终止当前运行的java虚拟机
}
});
}
/
实现ActionListener接口中的方法
(non-Javadoc)
@see javaawteventActionListener#actionPerformed(javaawteventActionEvent)
/
@Override
public void actionPerformed(ActionEvent e) {
if(egetSource()==baochun){
//public Object getSource()最初发生 Event 的对象。 返回,最初发生 Event 的对象。
fd=new FileDialog(frame,"保存文本文件",FileDialogSAVE);
/
FileDialog(Dialog parent, String title, int mode)
创建一个具有指定标题的文件对话框窗口,用于加载或保存文件。
static int LOAD
此常量值指示文件对话框窗口的作用是查找要读取的文件。
static int SAVE
此常量值指示文件对话框窗口的作用是查找要写入的文件。
/
fdsetVisible(true);
//文件的存放位置是通过fd获取的位置,文件名是通过fd获取的文件名
file=new File(fdgetDirectory(), fdgetFile()+"txt");
save(file);
}
if(egetSource()==dakai){
fd=new FileDialog(frame,"打开文件",FileDialogLOAD);
fdsetVisible(true);
/
String getFile()
获取此文件对话框的选定文件。
String getDirectory()
获取此文件对话框的目录。
/
file=new File(fdgetDirectory()+fdgetFile());
Systemoutprintln(fdgetFile());
Systemoutprintln(fdgetDirectory());
open(file);
}
if(egetSource()==xinjian){
wenbensetText("");
}
}
/
创建save方法
/
public void save(File file){
try{
PrintWriter pw=new PrintWriter(file);
pwwrite(wenbengetText());//wenbengetText()返回文本区域的文本
pwclose();
}catch(Exception e){
}
}
//创建open方法
public void open(File file){
try{
FileInputStream fis=new FileInputStream(file);
InputStreamReader isr=new InputStreamReader(fis);
BufferedReader br=new BufferedReader(isr);
String line=null;
while((line=brreadLine())!=null){
wenbenappend(line+"\n");
}
brclose();
}catch(Exception e){
}
}
public static void main(String[] args) {
new JiShiBen();
}
}
package tuxingjiemian;
import javaxswing;
import javaxswingevent;
import javaawt;
import javaawtevent;
import javaioFile;
import javaioPrintStream;
public class jishiben extends JFrame {
JPanel jp=new JPanel();
JFrame find_replace=new JFrame();
JMenu file=new JMenu("文件");
JMenu edit=new JMenu("编辑");
JMenu help=new JMenu("帮助");
JMenuBar menubar=new JMenuBar();
JTextArea aa=new JTextArea();
class Open implements ActionListener {
public void actionPerformed(ActionEvent e) {
JFileChooser jf= new JFileChooser();
jfshowOpenDialog(jishibenthis);
try {
PrintStream p=new PrintStream(jfgetSelectedFile()getPath());
} catch (Exception e2) {
}
}
}
class Save implements ActionListener {
public void actionPerformed(ActionEvent e) {
JFileChooser jf= new JFileChooser();
jfshowSaveDialog(jishibenthis);
try {
PrintStream p=new PrintStream(jfgetSelectedFile()getPath());
} catch (Exception e2) {
}
}
}
public jishiben(){
thissetTitle("记事本");
thissetSize(500, 500);
thissetLayout(new BorderLayout());
JMenuItem open=new JMenuItem("打开");
openaddActionListener(new Open());
JMenuItem save=new JMenuItem("保存");
saveaddActionListener(new Save());
JMenuItem exit=new JMenuItem("退出");
exitaddActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Systemexit(0);
}
});
fileadd(open);
fileadd(save);
fileaddSeparator();
fileadd(exit);
menubaradd(file);
thisadd(new JScrollPane(aa),BorderLayoutCENTER);
JMenuItem copy=new JMenuItem("复制");
JMenuItem past=new JMenuItem("粘贴");
JMenuItem delete=new JMenuItem("删除");
JMenuItem find=new JMenuItem("查找");
JMenuItem replace=new JMenuItem("替换");
copyaddActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jishibenthisaacopy();
}
});
pastaddActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jishibenthisaapaste();
}
});
deleteaddActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jishibenthisaareplaceSelection(null);
}
});
editadd(copy);
editadd(past);
editadd(delete);
editadd(find);
editadd(replace);
menubaradd(edit);
helpadd(new JMenuItem("帮助"));
menubaradd(help);
thisadd(menubar,BorderLayoutNORTH);
thissetVisible(true);
thissetDefaultCloseOperation(thisEXIT_ON_CLOSE);
}
public static void main(String[] args) {
new jishiben();
}
};
import javaawtBorderLayout;
import javaawtColor;
import javaawteventActionEvent;
import javaawteventActionListener;
import javaawteventWindowAdapter;
import javaawteventWindowEvent;
import javaioFile;
import javaioFileReader;
import javaioFileWriter;
import javaxswingImageIcon;
import javaxswingJButton;
import javaxswingJColorChooser;
import javaxswingJDialog;
import javaxswingJFileChooser;
import javaxswingJFrame;
import javaxswingJLabel;
import javaxswingJMenu;
import javaxswingJMenuBar;
import javaxswingJMenuItem;
import javaxswingJOptionPane;
import javaxswingJScrollPane;
import javaxswingJTextPane;
import javaxswingJToolBar;
public class TextEditorFrame extends JFrame {
File file = null;
Color color = Colorred;
TextEditorFrame() {
initTextPane();
initAboutDialog();
initToolBar();
initMenu();
}
void initTextPane() {
getContentPane()add(new JScrollPane(text));
}
JTextPane text = new JTextPane(); // 这是用来做文本框的
JFileChooser filechooser = new JFileChooser(); // 文件选择框
JColorChooser colorchooser = new JColorChooser();//
JDialog about = new JDialog(this); // 关于对话框
JMenuBar menubar = new JMenuBar();// 菜单
JMenu[] menus = new JMenu[] { new JMenu("文件"), new JMenu("编辑"),
new JMenu("帮助") };
JMenuItem menuitems[][] = new JMenuItem[][] {
{ new JMenuItem("新建"), new JMenuItem("打开"), new JMenuItem("保存"), new JMenuItem("退出") },
{new JMenuItem("复制"), new JMenuItem("剪切"), new JMenuItem("粘贴"), new JMenuItem("颜色") }, { new JMenuItem("关于") } };
void initMenu() {
for (int i = 0; i < menuslength; i++) {
menubaradd(menus[i]);
for (int j = 0; j < menuitems[i]length; j++) {
menus[i]add(menuitems[i][j]);
menuitems[i][j]addActionListener(action);
}
}
thissetJMenuBar(menubar);
}
ActionListener action = new ActionListener() { // when here have not wrong:
public void actionPerformed(ActionEvent e) {
JMenuItem mi = (JMenuItem) egetSource();
String id = migetText();
if (idequals("新建")) {
textsetText("");
file = null;
} else if (idequals("打开")) {
if (file != null)
filechoosersetSelectedFile(file);
int returnVal = filechooser
showOpenDialog(TextEditorFramethis);
if (returnVal == JFileChooserAPPROVE_OPTION) {
file = filechoosergetSelectedFile();
openFile();
}
} else if (idequals("保存")) {
if (file != null)
filechoosersetSelectedFile(file);
int returnVal = filechooser
showSaveDialog(TextEditorFramethis);
if (returnVal == JFileChooserAPPROVE_OPTION) {
file = filechoosergetSelectedFile();
saveFile();
}
} else if (idequals("退出")) {
TextEditorFrame f = new TextEditorFrame();
int s = JOptionPaneshowConfirmDialog(f, "你真的要结束吗", "结束程序",
JOptionPaneYES_NO_CANCEL_OPTION);
if (s == JOptionPaneYES_OPTION)
Systemexit(0);
} else if (idequals("剪切")) {
textcut();
} else if (idequals("复制")) {
textcopy();
} else if (idequals("粘贴")) {
textpaste();
} else if (idequals("color")) {
color = JColorChoosershowDialog(TextEditorFramethis, "",
color);
textsetForeground(color);
} else if (idequals("关于")) {
aboutsetSize(200, 150);
aboutshow();
}
}
};
void saveFile() {
try {
FileWriter fw = new FileWriter(file);
fwwrite(textgetText());
fwclose();
} catch (Exception e) {
eprintStackTrace();
}
}
void openFile() {
try {
FileReader fr = new FileReader(file);
int len = (int) filelength();
char[] buffer = new char[len];
frread(buffer, 0, len);
frclose();
textsetText(new String(buffer));
} catch (Exception e) {
eprintStackTrace();
}
}
void initAboutDialog() {
aboutgetContentPane()add(new JLabel("作者-覃树新:记事本Q10版本"));
aboutsetModal(true);
aboutsetSize(200, 100);
}
JToolBar toolbar = new JToolBar();// 我来加上工具条
JButton[] buttons = new JButton[] {
new JButton("", new ImageIcon("qinjpg")),
new JButton("", new ImageIcon("shujpg")),
new JButton("", new ImageIcon("xinjpg")) };
void initToolBar() {
for (int i = 0; i < buttonslength; i++)
toolbaradd(buttons[i]);
buttons[0]setToolTipText("复制");
buttons[0]addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textcopy();
}
});
buttons[1]setToolTipText("剪切");
buttons[1]addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textcut();
}
});
buttons[2]setToolTipText("粘贴");
buttons[2]addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textpaste();
}
});
thisgetContentPane()add(toolbar, BorderLayoutNORTH);
}
public static void main(String args[]) {
TextEditorFrame f = new TextEditorFrame();
faddWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e)
{
TextEditorFrame f = new TextEditorFrame();
int s = JOptionPaneshowConfirmDialog(f, "你真的要结束吗", "结束程序",
JOptionPaneYES_NO_OPTION);
if (s == JOptionPaneYES_OPTION)
Systemexit(0);
}
});
fsetTitle("简单的记事本");
fsetSize(800, 600);
fsetVisible(true);
}
}
以前看到的一个程序
以上就是关于如何用java的GUI编写一个记事本全部的内容,包括:如何用java的GUI编写一个记事本、java编写一个记事本小程序,接着下面的代码写,求大神解救!实现新建,保存,打开功能就行!、怎样用java编写一个记事本 ,具体步骤!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)