当前位置:文档之家› Java写的简单文本编辑器代码

Java写的简单文本编辑器代码

Java写的简单文本编辑器代码
Java写的简单文本编辑器代码

import java.awt.*;

import java.awt.event.*;

import java.io.*;

public class Notepad /*implements ActionListener , MouseListener , MouseMotionListener , WindowListener , ItemListener , KeyListener, TextListener */

{

//成员变量

private Frame mainFrame;//主框架

private MenuBar mb ; //菜单条

private Menu mFile , mEdit , mFormat , mHelp ; //菜单:文件,编辑,格式,帮助

private MenuItem miNew , miOpen , miSave , miSaveAs , miExit ;//文件菜单项:新建,打开,保存,另存为,退出

private MenuItem miCut , miCopy , miPaste , miDelete ;//编辑菜单项:剪切,复制,粘贴,删除

private MenuItem miFont, miLowtoCapital, miCapitaltoLow,miEncrypt, miDisencrypt;//格式菜单项:字体

private MenuItem miAboutNotepad;//帮助菜单项:关于记事本

private TextArea ta;//文本区

private String tempString;//临时字符串,用于存储需要复制粘贴的字符串private boolean textValueChanged = false;

private int id_font ;//字体

String fileName = "";//上次保存后的文件名和地址

//构造函数

public Notepad(){

//框架

mainFrame = new Frame ("Notepad v0.99 by Launching");

mb = new MenuBar ();

ta = new TextArea (30 ,60);

ta.setFont( new Font ( "Times New Rome" , Font.PLAIN , 15));

ta.setBackground(new Color(0 , 250 , 200));

//菜单条

mFile = new Menu ( "文件");

mEdit = new Menu ( "编辑");

mFormat = new Menu ("格式t");

mHelp = new Menu ("帮助");

//"文件"

miNew = new MenuItem ("新建");

miOpen = new MenuItem ("打开");

miSave = new MenuItem ("保存");

miSaveAs = new MenuItem ("另存为");

miExit = new MenuItem ("退出");

//"编辑"

miCut = new MenuItem ("剪切");

miCopy = new MenuItem ("复制");

miPaste = new MenuItem ("粘贴");

miDelete = new MenuItem ("删除");

//"格式"

miFont = new MenuItem ("Font");

miLowtoCapital = new MenuItem("Low to Capital"); miCapitaltoLow = new MenuItem("Capital to Low"); miEncrypt = new MenuItem("Encrypt");

miDisencrypt = new MenuItem("Disencrypt");

//"帮助"

miAboutNotepad = new MenuItem ("关于 Notepad");

//添加文件菜单项

mFile.add(miNew);

mFile.add(miOpen);

mFile.add(miSave);

mFile.add(miSaveAs);

mFile.add(miExit);

//添加编辑菜单项

mEdit.add(miCut);

mEdit.add(miCopy);

mEdit.add(miPaste);

mEdit.add(miDelete);

//添加格式菜单项

mFormat.add(miFont);

mFormat.add(miLowtoCapital);

mFormat.add(miCapitaltoLow);

mFormat.add(miEncrypt);

mFormat.add(miDisencrypt);

//添加帮助菜单项

mHelp.add(miAboutNotepad);

//菜单条添加菜单

mb.add(mFile);

mb.add(mEdit);

mb.add(mFormat);

mb.add(mHelp);

//框架添加菜单条

mainFrame.setMenuBar( mb );

//初始字符串赋为空

tempString = "";

//添加文本区

mainFrame.add(ta, BorderLayout.CENTER);

mainFrame.setSize(800 , 500);

mainFrame.setLocation( 100 ,100);// 起始位置

mainFrame.setResizable(true);//不可更改大小

mainFrame.setVisible(true);

//mainFrame.pack();

/////////////////////////增加监视器//////////////////////

//主框架

mainFrame.addWindowListener(new WindowAdapter (){ //关闭窗口public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

//文本区

ta.addKeyListener( new KeyAdapter(){

public void KeyTyped(KeyEvent e){

textValueChanged = true ; //键盘按键按下即导致文本修改

}

});

////////////////"文件"菜单://////////////////////

//新建

miNew.addActionListener( new ActionListener(){

public void actionPerformed(ActionEvent e){

ta.replaceRange("", 0 , ta.getText().length()) ;//清空文本区的内

fileName = "";//文件名清空

}

});

//打开

miOpen.addActionListener( new ActionListener(){

public void actionPerformed(ActionEvent e) {

FileDialog d=new FileDialog(mainFrame , "open file" ,

FileDialog.LOAD );//打开文件对话框

d.addWindowListener( new WindowAdapter(){ //关闭文件对话框窗口

public void windowClosing(WindowEvent ee){

System.exit(0);

}

});

d.setVisible(true);

File f = new File( d.getDirectory()+d.getFile() ); //建立新文件fileName = d.getDirectory()+d.getFile();//得到文件名

char ch[] = new char [(int)f.length()];///用此文件的长度建立一个字

符数组

try//异常处理

{

//读出数据,并存入字符数组ch中

BufferedReader bw = new BufferedReader( new FileReader(f) ); bw.read(ch);

bw.close();

}

catch( FileNotFoundException fe ){

System.out.println("file not found");

System.exit(0);

}

catch( IOException ie){

System.out.println("IO error");

System.exit(0);

}

String s =new String (ch);

ta.setText(s);//设置文本区为所打开文件的内容

}

});

//保存

miSave.addActionListener( new ActionListener(){

public void actionPerformed(ActionEvent e) {

if( fileName.equals("") ){ //如果文件没有被保存过,即文件名为空

FileDialog d=new FileDialog(mainFrame , "save file" , FileDialog.SAVE );//保存文件对话框

d.addWindowListener( new WindowAdapter(){ //关闭文件对话框窗口

public void windowClosing(WindowEvent ee){

System.exit(0);

}

});

d.setVisible(true);

String s = ta.getText();//得到所输入的文本内容

try//异常处理

{

File f = new File( d.getDirectory()+d.getFile());//新建文件

fileName = d.getDirectory()+d.getFile();//得到文件名

BufferedWriter bw = new BufferedWriter( new FileWriter (f));//输入到文件中

bw.write(s , 0 , s.length());

bw.close();

}

catch(FileNotFoundException fe_){

System.out.println("file not found");

System.exit(0);

}

catch( IOException ie_)

{

System.out.println(" IO error");

System.exit(0);

}

}

else//如果文件已经保存过

{

String s = ta.getText();//得到所输入的文本内容

try//异常处理

{

File f = new File( fileName );//新建文件

BufferedWriter bw = new BufferedWriter( new FileWriter (f));//输入到文件中

bw.write(s , 0 , s.length());

bw.close();

}

catch(FileNotFoundException fe_){

System.out.println("file not found");

System.exit(0);

}

catch( IOException ie_)

{

System.out.println(" IO error");

System.exit(0);

}

}

}

});

//另存为

miSaveAs.addActionListener( new ActionListener(){

public void actionPerformed(ActionEvent e) {

FileDialog d=new FileDialog(mainFrame , "save file" , FileDialog.SAVE );//保存文件对话框

d.addWindowListener( new WindowAdapter(){ //关闭文件对话框窗口

public void windowClosing(WindowEvent ee){

System.exit(0);

}

});

d.setVisible(true);

String s = ta.getText();//得到所输入的文本内容

try//异常处理

{

File f = new File( d.getDirectory()+d.getFile());//新建文件

BufferedWriter bw = new BufferedWriter( new FileWriter (f));//输入到文件中

bw.write(s , 0 , s.length());

bw.close();

}

catch(FileNotFoundException fe_){

System.out.println("file not found");

System.exit(0);

}

catch( IOException ie_)

{

System.out.println(" IO error");

System.exit(0);

}

}

});

//退出

miExit.addActionListener( new ActionListener(){ ///退出程序

public void actionPerformed(ActionEvent e){

System.exit(0);

}

});

////////////////"编辑"菜单:////////////////////

//剪切

miCut.addActionListener( new ActionListener(){

public void actionPerformed(ActionEvent e){

tempString = ta.getSelectedText(); ///得到要复制的内容,暂存在tempString中

StringBuffer tmp = new StringBuffer ( ta.getText());//临时存储文本

int start = ta.getSelectionStart(); //得到要删除的字符串的起始位置int len = ta.getSelectedText().length(); //得到要删除的字符串的长度

tmp.delete( start , start+len); ///删除所选中的字符串ta.setText(tmp.toString());//用新文本设置原文本

}

});

//复制

miCopy.addActionListener( new ActionListener(){

public void actionPerformed(ActionEvent e){

tempString = ta.getSelectedText(); ///得到要复制的内容,暂存在tempString中

}

});

//粘贴

miPaste.addActionListener( new ActionListener(){

public void actionPerformed(ActionEvent e){

StringBuffer tmp = new StringBuffer ( ta.getText());//临时存储文本

int start = ta.getSelectionStart(); //得到要粘贴的位置

tmp.insert(start , tempString);//查入要粘贴的内容

ta.setText(tmp.toString());//用新文本设置原文本

}

});

//删除

miDelete.addActionListener( new ActionListener(){

public void actionPerformed(ActionEvent e){

StringBuffer tmp = new StringBuffer ( ta.getText());//临时存储文本

int start = ta.getSelectionStart(); //得到要删除的字符串的起始位置int len = ta.getSelectedText().length(); //得到要删除的字符串的长度

tmp.delete( start , start+len); ///删除所选中的字符串ta.setText(tmp.toString());//用新文本设置原文本

}

});

////////////////"格式"菜单:////////////////////

//字体

miFont.addActionListener( new ActionListener(){

public void actionPerformed(ActionEvent e){

final Dialog d = new Dialog ( mainFrame , "Font");//新建对话框 d.setLocation( 250 ,250);// 起始位置

d.setLayout( new BorderLayout());//表格布局

//////////////////////////上部分面板

Label l_font = new Label ("font");//font标签

Panel p_1 = new Panel();

p_1.add(l_font);

p_1.setVisible(true);

//////////////////////////中部分面板

List font_list = new List (6 , false);//字体列表

//添加字体项目

font_list.add("Plain");///普通字体

font_list.add("Bold"); ///粗体

font_list.add("Italic");//斜体

font_list.addItemListener( new MyItemListener_font() ); //字体增加监视器

Panel p_2 = new Panel();

p_2.add(font_list);

p_2.setVisible(true);

//////////////////////////下部分面板

Button ok = new Button ("OK");

ok.addActionListener( new ActionListener(){

public void actionPerformed(ActionEvent e){

d.dispose();

}

});

ok.setSize( new Dimension (20 , 5) );

Panel p_3 = new Panel();//下部分面板

p_3.add(ok);

p_3.setVisible(true);

//添加三个面板

d.add(p_1 , BorderLayout.NORTH);

d.add(p_2 , BorderLayout.CENTER);

d.add(p_3 , BorderLayout.SOUTH);

d.pack();

d.addWindowListener( new WindowAdapter(){ //关闭对话框窗口

public void windowClosing(WindowEvent ee){

d.dispose();

}

});

d.setVisible(true);

}

});

//小写字母转大写

miLowtoCapital.addActionListener( new ActionListener(){

public void actionPerformed(ActionEvent e){

String s = ta.getText();//得到所输入的文本内容

StringBuffer temp = new StringBuffer("");

for(int i = 0 ; i

if((int)s.charAt(i)>=97 && (int)s.charAt(i)<=122 ){

temp.append((char)((int)s.charAt(i)-32));

}

else

temp.append(s.charAt(i));

}

s = new String(temp);

ta.setText(s);

}

});

//大写字母转小写

miCapitaltoLow.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){

String s = ta.getText();//得到所输入的文本内容

StringBuffer temp = new StringBuffer("");

for(int i = 0 ; i

if((int)s.charAt(i)>=65 && (int)s.charAt(i)<=90 ){

temp.append((char)((int)s.charAt(i)+32));

}

else

temp.append(s.charAt(i));

}

s = new String(temp);

ta.setText(s);

}

});

//加密

miEncrypt.addActionListener( new ActionListener(){

public void actionPerformed(ActionEvent e){

String s = ta.getText();//得到所输入的文本内容

StringBuffer temp = new StringBuffer("");

for(int i = 0 ; i

if(s.charAt(i)>=40 && s.charAt(i)<=125){

if(i%2==0){

temp.append((char)(s.charAt(i) + 1 ));

}

else

temp.append((char)(s.charAt(i) - 1 ));

}

else

temp.append(s.charAt(i));

}

s = new String(temp);

ta.setText(s);

}

});

//解密

miDisencrypt.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){

String s = ta.getText();//得到所输入的文本内容

StringBuffer temp = new StringBuffer("");

for(int i = 0 ; i

if(s.charAt(i)>=40 && s.charAt(i)<=125){

if(i%2==0){

temp.append((char)(s.charAt(i) - 1 ));

}

else

temp.append((char)(s.charAt(i) + 1 ));

}

else

temp.append(s.charAt(i));

}

s = new String(temp);

ta.setText(s);

}

});

////////////////"帮助"菜单:////////////////////

//关于记事本

miAboutNotepad.addActionListener( new ActionListener(){

public void actionPerformed(ActionEvent e){

final Dialog d = new Dialog ( mainFrame , "AboutNotepad");//新建对话框

TextArea t = new TextArea("\nwelcome to use Notepad " + "\n\n" + "Copyright@Launching " + "\n\n" + "free software" + "\n\n" + "v0.99");//添加标签

t.setSize( new Dimension ( 5 , 5));

t.setEditable(false);

d.setResizable(false);//不可调整大小

d.add(t);

d.pack();

d.addWindowListener( new WindowAdapter(){ //关闭对话框窗口

public void windowClosing(WindowEvent ee){

d.dispose();

}

});

d.setLocation( 100 ,250);// 起始位置

d.setVisible(true);

}

});

}

class MyItemListener_font implements ItemListener { //字体监听器public void itemStateChanged(ItemEvent e) {

id_font = ((java.awt.List)e.getSource()).getSelectedIndex();

switch( id_font){

case 0:{

ta.setFont(new Font("Times New Roman",

Font.PLAIN ,ta.getFont().getSize()) );//普通文字

break;

}

case 1:{

ta.setFont(new Font("Times New Roman" ,

Font.BOLD ,ta.getFont().getSize()) );//粗体文字

break;

}

case 2:{

ta.setFont(new Font("Times New Roman" ,

Font.ITALIC ,ta.getFont().getSize()) );//斜体文字

break;

}

}

}

}

//////////////////////主函数//////////////////////////////

public static void main(String arg[]){

Notepad test = new Notepad(); ///创建记事本

}

//////////////////////////////////////////////////////////////// }

运行效果图:

java编写的简单计算器代码

import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.Vector; public class Tuo { String str1="0"; //运算数1 初值一定为0 为了程序的安全 String str2="0"; //运算数2 String fh="+"; //运算符 String jg="";//结果 //状态开关重要 int k1=1;//开关1 用于选择输入方向将要写入str2或 str2 int k2=1;//开关2 符号键次数 k2>1说明进行的是2+3-9+8 这样的多符号运算 int k3=1;//开关3 str1 是否可以被清0 ==1时可以 !=1时不能被清0 int k4=1;//开关4 str2 同上 int k5=1;//开关5 控制小数点可否被录入 ==1时可以 !=1 输入的小数点被丢掉 JButton jicunqi; //寄存器记录是否连续按下符号键 Vector vt=new Vector(20,10); JFrame frame=new JFrame("sunshine---计算器"); JTextField jg_TextField=new JTextField(jg,20);//20列 JButton clear_Button=new JButton("清除"); JButton button0=new JButton("0"); JButton button1=new JButton("1"); JButton button2=new JButton("2"); JButton button3=new JButton("3"); JButton button4=new JButton("4"); JButton button5=new JButton("5"); JButton button6=new JButton("6"); JButton button7=new JButton("7"); JButton button8=new JButton("8"); JButton button9=new JButton("9"); JButton button_Dian=new JButton("."); JButton button_jia=new JButton("+"); JButton button_jian=new JButton("-"); JButton button_cheng=new JButton("*"); JButton button_chu=new JButton("/"); JButton button_dy=new JButton("="); //////////////////////////////////////////////////////////////////////// public static void main(String[] args) {

java编写的简单的计算器程序

计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; 1.Applet容器中组件的添加与设置,包括面板以及菜单的使用; 2.容器中组件的布局管理; 3.Java核心包中数组、数学计算类的使用; 4.异常的处理; 5.事件处理模型中的三类对象的使用: 1.Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 2.Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 3.Event handler-事件处理者,接收事件对象并对其进行处理的对象。 6.程序中事件处理的流程:

1.计算流程的细化 参考代码: import .*;

import .*; import .*; import import import public class Calculator implements ActionListener { #############"); dd(panel); panel1 = new JPanel(); panel2 = new JPanel(); (new BorderLayout()); 键入计算的第一个数字。\n"); ("2. 单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。\n"); ("3. 键入计算的下一个数字。\n"); ("4. 输入所有剩余的运算符和数字。\n"); ("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); (this);

java文本编辑器实验报告

Java考核 课程名称Java程序设计 题目名称文本编辑器的设计与实现学生学院计算机学院 专业班级计算机17(2)班 学号3117004479 学生姓名李泽豪 指导教师赵锐 2018 年12 月11 日

一、课程题目 编程实现一个文本编辑器 使其具有新建、打开、保存,编辑(查找、替换、大小写转换等)、统计(字数、行数、字符数等)、格式(字体设置、字体大小、字体颜色、背景颜色等)等功能。 要求:基于JFrame窗体设计、使用菜单进行功能选择。 提示:字体颜色,背景颜色的设置,可使用javax.swing包中的JColorChooser类的静态方法showDialog()调用标准颜色对话框来完成;文件操作可通过javax.swing包中JColorChooser类中的showSaveDialog()、showOpenDialog()方法调用标准的的文件对话框来完成。 二、题目分析与设计 2.1开发环境 使用Eclipse开发软件 2.2需求分析 简单的文本编辑器提供给用户基本纯文本的文字编辑功能,能够读取计算机本地磁盘中的文本内容,将用户文本导入到磁盘中之中,以及实现基本的字体设置(字体,字号,字体颜色)简单的编辑字体的功能,以及统计(字数,行数,字符数),增强视觉体验的背景颜色功能等,简单而实用。而网络上的各种编辑器,有的功能不足(如自带的记事本),而有些编辑器功能太繁杂,仅以日常应用方面来说,一个文本编辑器只需要简单的功能就够了。 2.3功能构架 本程序要构建的文本编辑器按照题目要求,分为四个方面: (1)“文件”菜单:包括“新建”并提示是否保存已编辑内容,“打开”计算机本地磁盘的文本文件,主动“保存”自己已经编辑好的内容到电脑的磁盘或“另存为”新的文件之中,以及“退出”并提示是否保存已编辑的内容。 (2)“编辑”菜单:包括对已编辑文本的一个“查找与替换”功能,对已编辑英文文本的一个“大小写转换”功能。 (3)“格式”菜单:实现对文本的“字体”设置,“字体大小”以及“字体颜色”,还有

科学计算器程序Java代码

科学计算器程序Java代码

MC:清除独立内存里的数字 MR:读出独立内存数字 MS:将显示数字保存到独立内存,并取代内存中原有数字 M+:将显示数字向独立内存累加 (独立内存是一个临时寄放数字的存储器,方便计算) CE:纠错键(CLEAR ERROR).输入数字有错,按它可以重新输入 C:表示清零,将计算器恢复到开机状态 功能举例: 源程序如下: import java.awt.BorderLayout;

import javax.swing.JRadioButtonMenuItem; import javax.swing.JTextField; public class Calucator extends JFrame { private JTextField tf; private JPanel panel1, panel2, panel3, panel4; private JMenuBar myBar; private JMenu menu1, menu2, menu3; private JMenuItem editItem1, editItem2, help1, help2, help3; private JRadioButtonMenuItem seeItem1, seeItem2;//单选框 private JCheckBoxMenuItem seeItem3;//复选框 private ButtonGroup bgb; private String back; private boolean IfResult = true, flag = false;

java简单计算器源代码

简单计算器代码 package calcultorthree; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.GridLayout;//导入网格布局管理器类 import java.awt.TextField;//导入文本区域类 import java.awt.event.ActionEvent;//导入事件类 import java.awt.event.ActionListener;//导入事件监听者类 import javax.swing.JButton;//导入按钮类 import javax.swing.JFrame;//导入窗体 import javax.swing.JPanel;//导入面板 /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 * @author Fjsh */ public class CalcultorThree { //新建对象,在构造函数中进行初始化 JFrame frame;//新建窗体对象 JButton buttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=” JButton buttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮“0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanel panelwest,panelcenter,paneleast;//新建三个面板 TextField tf;//新建文本区域对象 public CalcultorThree(){ //初始化对象 tf=new TextField(30);//构造空文本字段,字符宽度为30 frame =new JFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

java编写简单计算器源代码

import javax.swing.*; import java.awt.event.*; import java.awt.*; import https://www.doczj.com/doc/8915102825.html,ng.Math; class ring extends JFrame implements ActionListener { //定义成员变量: //JFrame frame;//定义一个窗口类; JTextField text;//定义一个文本框类; JLabel label;//定义一个标签类; JPanel p1,p2,p3,p4,p5,p6;//定义面板类; String s1,s,s2;//定义三个字符串变量; int count=0; JButton a1,a2,a3,a4,a5,a6,b1,b2,b3,b4,b5,b6,c1,c2,c3,c4,c5,c6,d1,d2,d3,d4 ,d5,d6; //ring的构造函数; ring() { this.setTitle("计算器"); // super("计算器"); JMenuBar menubar1=new JMenuBar();//新建菜单条; this.setJMenuBar(menubar1); JMenu menu1=new JMenu("编辑(E)"); JMenu menu2=new JMenu("查看(V)"); JMenu menu3=new JMenu("帮助(H)"); menubar1.add(menu1); menubar1.add(menu2); menubar1.add(menu3); JMenuItem item1=new JMenuItem("复制(c) ctrl+c"); JMenuItem item2=new JMenuItem("粘贴(p) ctrl+v"); JMenuItem item3=new JMenuItem("标准型(T)"); JMenuItem item4=new JMenuItem("科学型(s)"); JMenuItem item5=new JMenuItem("数字分组(I)"); JMenuItem item6=new JMenuItem("帮助主题(H)"); JMenuItem item7=new JMenuItem("关于计算机(A)"); menu1.add(item1); menu1.add(item2); menu2.add(item3); menu2.add(item4); menu2.add(item5); menu3.add(item6);

java课设—文本编辑器的设计与实现

淮 海 工 学 院 计算机工程学院
课程设计报告
设计名称: 选题名称: 姓 名: 面向对象课程设计 文本编辑器的设计与实现 学 号:
专业班级: 系 (院) : 设计时间: 设计地点: 计算机工程学院 2015.6.21~2014.7.4 计算机楼机房、教室、宿舍
指导教师评语:
成绩:
签名:
年 月 日

面向对象课程设计报告

1
页,共
14

1.课程设计目的
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程 后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理 论、方法和基础知识的理解,掌握使用 Java 语言进行面向对象设计的基本方法,提高运用 面向对象知识分析实际问题、解决实际问题的能力。
2.课程设计任务与要求:
课程设计可选用 NetBeans、Eclipse、JBuilder 等作为开发平台以提高开发效率,尽可能熟 练掌握其中一种集成开发环境。建议采用 UML 建模技术进行系统的分析设计,在 Visio 中画出系 统用例图和类图,并将 UML 图复制到设计报告中。 通过这次设计,要求掌握以下内容: 1)面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用 2)类、包、接口的定义与使用 3)常用工具类与算法的实现(数组、向量、字符串、链表) 4)Java 常用标准 GUI 组件及其事件处理 5)Java 的异常处理机制 6)Java 的数据库连接技术 7)Java 的多线程技术与动画制作 8)Java 的网络编程 任务: 设计一个类似于 Windows 记事本(Notepad)的 Java 程序。可以打开、新建、保存一个文本 文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复 制、粘贴、剪切、查找、替换等) ;在文本中能够插入对象。简单文本编辑器提供给用户基本的 纯文本编辑功能, 能够将用户录入的文本存储到本地磁盘中。 能够读取磁盘中现有的纯文本文件, 以及方便用户进行需要的编辑功能。

JAVA编写的计算器源代码

package jsq; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.UIManager; public class Test implements ActionListener { /** * */ JFrame f = new JFrame(); JTextField tf = new JTextField("0."); JMenuBar bar=new JMenuBar(); JMenu menuEdit=new JMenu("编辑(E)"); JMenu menuView=new JMenu("查看(V)"); JMenu menuHelp=new JMenu("帮助(H)"); JMenuItem menuEditCopy=new JMenuItem("复制(C)"); JMenuItem menuEditPaste=new JMenuItem("粘贴(V)"); JMenuItem menuHelpAbout = new JMenuItem("关于计算器(A)"); JPanel panel0 = new JPanel(); JPanel panel2 = new JPanel(); JPanel panel = new JPanel(); JPanel panel3 = new JPanel(); JPanel panel4 = new JPanel(); JPanel panel5 = new JPanel();

Java科学计算器程序代码

计算器布局显示: 功能举例: ①13+20=33 ②-7*14=-98:先输入7,再单击-/+将其变成负数,然后依次单击×号、14与= ③7!=5040 ④sin30°=0.5:先输入30,然后按下′″按钮转换成角度值,再按下sin即可显示结果 ⑤sqrt(4)=2:利用鼠标点击4后再点击sqrt按键即可显示结果 ⑥2*π=6.2832 …… 源程序如下: import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.DecimalFormat; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JCheckBoxMenuItem; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JRadioButtonMenuItem; import javax.swing.JTextField;

java计算器源代码(仿win7)

java计算器源代码(仿win7) import java.awt.*; import javax.swing.*; import java.awt.event.*; class Cal extends JFrame implements ActionListener,MouseListener{ JMenuBar menubar; JMenu menu_check,menu_edit,menu_help; JMenuItem menuitem_science,menuitem_check,menuitem_exit,menuitem_copy, menuitem_paste,menuitem1_copy,menuitem1_paste,menuitem_chelp,menuitem_about; JCheckBoxMenuItem menuitem_standard; JTextField ta1; int x,result2; double op1,op2,opall; private boolean end=false,flag=false,add=false,sub=false,cheng=false,chu=false,flagop2=false; JButton b_mc,b_mr,b_ms,b_mjia,b_mjian,b_tui,b_ce,b_c,b_jj, b_dui,b_7,b_8,b_9,b_chu,b_baifenhao,b_4,b_5,b_6,b_cheng, b_daoshu,b_1,b_2,b_3,b_jian,b_0,b_dian,b_jia,b_dengyu; JPanel p_all,p_button1,p_button2,p_txt,p1,p2,p3,p4,p5; private String str,resultstr;

基于java的文本编辑器开发

基于java的文本编辑器开发 当今,计算机以及网络技术的飞速发展,社会正快速向信息化社会前进,我们需要更智能,更专业的软件帮助我们完成工作,从而提高了工作效率。 目前文本编辑器种类很多,所提供的功能也很多,但是能满足用户实现多种功能和进行Java的编译与运行很少,不能更好的适应当前用户的要求。本设计所完成的文本编辑器功能是针对学习Java程序语言,因此我们利用Java程序设计虚拟机和软件对用户及使用者的应用过程形成一整套完整的编写代码,编译,运行。 本文本编辑器的开发主要包括界面窗口的菜单栏和工具栏以及树结构,还有链接Java虚拟机实现编译与运行。使用SUN公司的Java中的GUI作为开发技术,利用其提供的各种类与接口,首先建立系统应用原型。 本文本编辑器的开发采用JDK6.0和 UltraEdit为开发工具,操作系统为Windows98/Windows 2000/Windows XP等。

目录 1 前言 (3) 2 问题的提出及可行性研究 (4) 2.1问题的提出及定义 (4) 2.2可行性研究 (5) 2.2.1 对现行文本编辑器的分析 (5) 2.2.2 新文本编辑器的可行性研究分析 (5) 3 用户需求分析 (7) 3.1用户调查 (7) 3.2确定目标系统的功能 (7) 4 系统设计与开发环境 (8) 4.1系统相关类的设计 (8) 4.2开发语言及其开发环境 (12) 4.2.1开发语言概述 (12) 4.2.2 Java开发环境——JDK的介绍 (14) 4.3环境变量的设置 (15) 4.3.1.环境变量的作用 (15) 4.3.2 如何设置环境变量 (16) 5 关键技术和源代码的实现 (18) 5.1关键技术剖析 (18) 5.2源码分析 (19) 6 系统测试 (46) 6.1测试方案 (46) 6.2测试项目 (46) 6.3编辑器截图演示 (47)

java简单计算器源代码

j a v a简单计算器源代码集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

简单计算器代码packagecalcultorthree; /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 *@authorFjsh */ publicclassCalcultorThree{ //新建对象,在构造函数中进行初始化 JFrameframe;//新建窗体对象 JButtonbuttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=”JButtonbuttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButtonbuttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮 “0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanelpanelwest,panelcenter,paneleast;//新建三个面板 TextFieldtf;//新建文本区域对象 publicCalcultorThree(){ //初始化对象 tf=newTextField(30);//构造空文本字段,字符宽度为30 frame=newJFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

JAVA编写的计算器源代码

import class Test implements ActionListener { /** * */ JFrame f = new JFrame(); JTextField tf = new JTextField("0."); JMenuBar bar=new JMenuBar(); JMenu menuEdit=new JMenu("编辑(E)"); JMenu menuView=new JMenu("查看(V)"); JMenu menuHelp=new JMenu("帮助(H)"); JMenuItem menuEditCopy=new JMenuItem("复制(C)"); JMenuItem menuEditPaste=new JMenuItem("粘贴(V)"); JMenuItem menuHelpAbout = new JMenuItem("关于计算器(A)"); JPanel panel0 = new JPanel(); JPanel panel2 = new JPanel(); JPanel panel = new JPanel(); JPanel panel3 = new JPanel(); JPanel panel4 = new JPanel(); JPanel panel5 = new JPanel(); JButton btBk = new JButton(" Backspace"); JButton btCe = new JButton("Ce"); JButton btCl = new JButton("C"); JButton bt7 = new JButton("7"); JButton bt8 = new JButton("8"); JButton bt9 = new JButton("9"); JButton btDiv = new JButton("/"); JButton btSqrt = new JButton("sqrt"); JButton bt4 = new JButton("4"); JButton bt5 = new JButton("5"); JButton bt6 = new JButton("6"); JButton btMult = new JButton("*"); JButton btMol = new JButton(" % "); JButton bt1 = new JButton("1"); JButton bt2 = new JButton("2"); JButton bt3 = new JButton("3"); JButton btMinu = new JButton("-"); JButton btCoun = new JButton(" 1/x");

计算器设计的java课程设计报告

】 · ( 华东交通大学课程设计 课 程: Java 程序设计 题 目: 计算器设计 年 级: 2010级 专 业: 信息一班 * 学 号: 姓 名: 组 员: 指导教师: 课程设计题目:计算器设计

课程设计(论文)任务书 基础学院信息与计算科学专业2010—1 班 一、课程设计(论文)题目计算器的设计 二、课程设计(论文)工作自2013 年 6 月23日起至2013 年6月27日止。 三、课程设计(论文) 地点: 计算机中心 · 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握系统各功能模块的基本工作原理; (2)掌握Java的基本编程原理和基本的编程方法; (3)使学生学会系统调试; (4)培养学生分析、解决问题的能力; (5)提高学生的软件文档写作能力和团队合作精神。 2.课程设计的任务及要求 ' 1)基本要求: (1)分析系统各功能模块的工作原理; (2)提出系统的设计方案; (3)对所进行编程、调试、修改。 2)创新要求: 在基本要求达到后,可进行创新设计,如:用虚函数,文件流,重载流插入运算符等。3)课程设计论文编写要求 (1)要按照书稿的规格打印誊写设计论文; > (2)论文包括目录、摘要、正文、总结等; (3)毕业论文装订按学校的统一要求完成。 4)答辩与评分标准: (1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分; (2)能正确回答老师所提问题,可增加10分; (3)课程设计报告书写规范整齐,可增加10分; (4)心得体会认真总结,可增加10分; (5)程序有创新性,可增加10分; [ 成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。 5)参考文献:

java文本编辑器

软件学院 课程设计报告书 课程名称 设计题目文本编辑器的设计与实现 专业班级XXXXXXXXXXX 学号xxxxxxxxxx 姓名xxx 指导教师

2011 年11月

1 设计时间 2011年11月 2 设计目的 《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。目前文本编辑器种类很多,所提供的功能也很多,但是能满足用户实现多种功能和进行Java的编译与运行很少,不能更好的适应当前用户的要求。本设计所完成的文本编辑器功能是针对学习Java程序语言,因此我们利用Java程序设计虚拟机和软件对用户及使用者的应用过程形成一整套完整的编写代码,编译,运行。 3设计任务 文本编辑器的设计与实现:设计一个类似于Windows记事本(Notepad)的Java程序。可以打开、新建、保存一个文本文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复制、粘贴、剪切、查找、替换等);在文本中能够插入对象。 4 设计内容 4.1需求分析 需求分析的任务是确定功能必须完成的工作,也就是对目标系统提出完整、准确、清晰、具体的要求。简单文本编辑器提供给用户基本的纯文本编辑功能,能够将用户录入的文本存储到本地磁盘中。能够读取磁盘中现有的纯文本文件,以及方便用户进行需要的编辑功能。文件操作能够实现新建、保存、打开文档等,编辑操作能过实现文本的剪贴、复制、粘贴等,格式操作能过实现字体设置、背景等,帮助操作能够实现关于主题的查看等功能。 4.2概要设计 4.2.1程序基本功能概括

用JAVA编写计算器程序(模拟Windows计算器)

用JAVA编写计算器程序(模拟Windows计算器) import java.awt.*; import java.awt.event.*; public class Calculation extends WindowAdapter implements ActionListener { double dResult=0; double dNowInput=0; double dMemory; int n=0; //记载小数位数 int nOperation=1; // 记录运算符类型 int nBitsNum=0; //记录总共输入的位数 boolean alreadyHaveDot=false; //已经有小数点? boolean keyAvailable=true; boolean alreadyClickedEqueal=false; //是否按下过"="? boolean isTempNowInput=false; //是否在计算出结果后直接按运算符将结果赋给了当前输入值? Frame f; Panel p1,p2,p3,p4,p5,p6; TextField tf1,tf2; Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0; Button bDiv,bSqrt,bMulti,bMinus,bPercent,bPlus,bReciprocal,bEqual,bDot,bNegative; Button bBackspace,bCE,bC,bMR,bMS,bMC,bM; public void display() { f=new Frame("计算器"); f.setSize(280,213);

用java编写简单计算器

用java写了一个简单计算器,能实现简单的数据计算。 一、先写界面代码: 在UI包里面新建一个Class文件,取名自己想,这里我写的是CalculatorFrame package ui; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.border.TitledBorder; public class CalculatorFrame extends JFrame { private static final long serialV ersionUID = 1L; public String opt; public String str; private JTextArea show; private ClientContext clientContext;//引用控制器对象 /*因为调用了控制器里面的方法,所以要对控制器的对象进行赋值,否则运行会出现空指针异常*/ public void setClientContext(ClientContext clientContext) { this.clientContext = clientContext; } public CalculatorFrame() { init(); } private void init() { setTitle(" Simple Calculator"); setBounds(533, 184, 300, 400); setContentPane(creatContentPane()); }

java简易计算器源代码

package Swing; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class Work1 { public static void main(String[] args) { new JsqV iew(340, 240); } } @SuppressWarnings("serial") class JsqV iew extends JFrame { JTextField jtf; JButton jb1, jb2, jb3; JButton[] jb; JPanel jp1, jp2, jp3, jp4; MyActionListener l; public JsqView(int weith, int heigh) { Container con = this.getContentPane(); con.setLayout(new BorderLayout(5, 10)); l = new MyActionListener(this); jtf = new JTextField(26); jp1 = new JPanel(); jp1.add(jtf); jtf.setHorizontalAlignment(JTextField.RIGHT); jp3 = new JPanel(); jp3.setLayout(new BorderLayout(5, 10)); jb1 = new JButton("Backspace"); jb2 = new JButton("CE"); jb3 = new JButton("C");

Java第三次作业 《文本编辑器》

《Java语言》课程期末作业 题目第6题:文本编辑器 学院计算机学院 专业网络工程 班别13级(3 )班 学号 姓名 2015年06月17日

一、课程题目 制作一个简单的文本编辑器,交互性要求:【最大选题人数:5】 (1) 可输入文字(仅要求英文及标点符号) (2) 实现一些常用的编辑功能:如复制和粘贴,查找和替换,首字母自动大写,拼写自动更正…… (3) 可打开并显示TXT文件,并且可以将编辑结果保存为TXT文件 二、题目分析与设计 1. 注明所使用的开发环境(Eclipse、NetBeans,JBuilder)。 开发环境:Eclipse

2. 论述题目的需求。给出软件功能架构图。 本题目要求实现类似于一个记事本的文本编辑器功能。要能够输入文字,能够实现一些常用的编辑功能,可打开并显示TXT文件,并且可以将编辑结果保存为TXT文件。本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: ① 菜单栏中有“文件”,“编辑”,“字体”三个主菜单。 ②“文件”菜单有“新建”,“打开”,“保存”三个菜单项:分别用于新 建文件,打开文件,保存文件。 ③“编辑”菜单中有“复制”“剪切”“粘贴”“查找”“替换”五个菜单项:用于实现复制所选文字,剪切所选文字,粘贴文字,查找,替换等功能。 ④“字体”中有“格式”一个菜单项:用来控制文本框中文本的字体类型功能; 软件功能架构图:

3. 论述界面设计过程,指出其设计上的创意及组件的布局策略。 这个框架主要运用盒子布局对象和grid布局对象操作。对于文本编辑器的菜单组件如下。 “文件”菜单里: “编辑”菜单里“字体”菜单里 4. 论述程序逻辑的实现,包括类的设计、对象的协作过程等,必要时加以各种图形和表格辅助论述。不得以粘贴代码的方式代替设计部分。 首先,自定义一个editor类,该类继承了JFrame类和ActionListener、ItemListener 接口。在主类的主方法中,用editor创建一个对象bianji。 在editor的构造方法中设计好第一个界面的布局和组件。设计一个菜单条组件,

JAVA课程设计计算器

《JAVA程序设计》课程设计任务书 一、课程设计的目的 1、培养学生面向对象编程的思想; 2、使学生熟悉JAVA语言的使用; 3、培养学生JAVA编程的思想和方法; 4、使学生掌握JAVA编程调试的基本技能; 5、培养学生分析、解决问题的能力。 二、课程设计内容与要求 1、内容一: 1简单计算器 [题目描述] 使用Java的GUI图形用户界面编程设计并编写一个计算器程序,用户可以通过鼠标或者键盘操作输入参加运算的数值和运算符,要求能进行加、减、乘、除等混合运算。 [基本要求] 实现加、减、乘、除的双目单类别的基础运算; [实现提示] GUI编程Component的事件响应。 参考界面 《JAVA程序设计》课程设计

一、系统中所使用的数据对象及说明 1、Calculator类 属性 属性名称类型描述 Jmb JMenuBar 菜单栏Jm1 jm2 jm3 JMenu 菜单Jmi JMenuItem 菜单项 f JFrame 实例化对象Panel1 1 JPanel 输入面板CommandsPanel JPanel 运算符面板calckeysPanel JPanel 数字面板showline JT extField 数据输出框backspace JButton 退格键CE JButton 清空 C JButton 删除 1/X JButton 取余 dao JButton 取倒数 add JButton 数字相加 jian JButton 数字相减cheng JButton 数字相乘quzheng JButton 数字相除dian JButton 点符号

deng JButton 等于号 zero JButton 一 one JButton 二 two JButton 三 three JButton 四 four JButton 五 five JButton 六 six JButton 七 seven JButton 八 eight JButton 九 num1 String 保存第一个运算数字operator String 保存运算符号 方法 方法名称功能 Calculator 计算器布局 Add 添加组件、面板addMouseListener 添加鼠标监听事件setJMenuBar 设置菜单 二、系统功能结构及相关算法描述 1、系统功能结构

相关主题
文本预览
相关文档 最新文档