用java swing写一个记事本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java swing写一个记事本相关的知识,希望对你有一定的参考价值。

(1)文件操作:新建、打开、保存、另存为、退出
(2)编辑:撤消、剪切、复制、粘贴、删除
(3)格式:自动换行
(4)帮助:关于
高级功能要求:
(1)为“新建” “打开” “保存” “撤消” “复制” “剪切” “粘贴”设置工具栏按钮
(2)编辑:查找、查找下一个、替换

如果你安装了JDK的Demo的话(安装时有选择),里面有个例子叫Notepad,带源代码的,具体路径在:
JDK1.6:Java\\jdk1.6.0_12\\demo\\jfc\\Notepad
路径下的Jar包双击可执行(前提是安装了JRE),src文件夹下是源文件,有两个:Notepad.java和ElementTreePanel.java
代码行数比较多,连注释带空行的一共将近1400行。
你只需要在上面加一个“另存为”和“关于”,还有就是把编辑框设定成自动换行就可以满足基本要求了。
对于高级功能里的(1),这里已经实现了。(2)还得自行添加。
运行效果图:
参考技术A import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;

public class jsq extends Applet implements ActionListener
int flag=0;
double x;
String s=new String("");
Panel p1,p2,p3;
Label label;
TextField text1;
Button bclear,bpoint,beq,badd,bsbb,bmult,bdiv;
Button[] b=new Button[10];
java.applet.AudioClip sound;
public void init()
java.net.URL aurl=getCodeBase();
sound=getAudioClip(aurl,"yahoo2.au");//获得声音片断
p1=new Panel();p2=new Panel();p3=new Panel();
setLayout(new FlowLayout());
p1.setLayout(new FlowLayout());
p2.setLayout(new GridLayout(4,3));
p3.setLayout(new GridLayout(4,1));
label=new Label("小小计算器"+s);
text1=new TextField(12);
bclear=new Button("Clear");
add(label);
p1.add(text1);p1.add(bclear);
bclear.addActionListener(this);

for(int i=0;i<10;i++)
b[i]=new Button(Integer.toString(i));


bpoint=new Button(".");
beq=new Button("=");

for(int i=0;i<10;i++)
p2.add(b[i]);
b[i].addActionListener(this);

p2.add(bpoint);p2.add(beq);
bpoint.addActionListener(this);
beq.addActionListener(this);

badd=new Button("+");
bsbb=new Button("-");
bmult=new Button("*");
bdiv=new Button("/");
p3.add(badd);
p3.add(bsbb);
p3.add(bmult);
p3.add(bdiv);
参考技术B 肯定不是毕业设计 毕业设计哪有这么简单 其实记事本很随意你自己随便就能弄出来 只不过就是GUI编程
文件操作 借本书 最多两天
参考技术C 哈 交毕业项目吧...

用java编写一个简单的画图程序。不用复杂

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;

//不规则图形的绘制

public class IrregularShapeDemo extends JFrame

GeneralPath gPath= new GeneralPath(); //GeneralPath对象实例
Point aPoint;

//构造函数
public IrregularShapeDemo()
super("不规则图形的绘制"); //调用父类构造函数
enableEvents(AWTEvent.MOUSE_EVENT_MASK|AWTEvent.MOUSE_MOTION_EVENT_MASK); //允许事件

setSize(300, 200); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序


public void paint(Graphics g) //重载窗口组件的paint()方法
Graphics2D g2D = (Graphics2D)g; //获取图形环境
g2D.draw(gPath); //绘制路径


public static void main(String[] args)
new IrregularShapeDemo();


protected void processMouseEvent(MouseEvent e) //鼠标事件处理
if(e.getID() == MouseEvent.MOUSE_PRESSED)
aPoint = e.getPoint(); //得到当前鼠标点
gPath = new GeneralPath(); //重新实例化GeneralPath对象
gPath.moveTo(aPoint.x,aPoint.y); //设置路径点



protected void processMouseMotionEvent(MouseEvent e) //鼠标运动事件处理
if(e.getID() == MouseEvent.MOUSE_DRAGGED)
aPoint = e.getPoint(); //得到当前鼠标点
gPath.lineTo(aPoint.x, aPoint.y); //设置路径
gPath.moveTo(aPoint.x, aPoint.y);
repaint(); //重绘组件


参考技术A package s;//包名
  import java.awt.*;
  import java.awt.event.*;
  import javax.swing.*;
  public class Test extends JFrame
  int x1,y1,x2,y2;public Test()
  setVisible(true);
  setSize(300,300) ;
  addWindowListener(new WindowAdapter()
  public void windowClosing(WindowEvent e)
  System.exit(0) ; );
  addMouseListener(
  new MouseAdapter()
  public void mousePressed(MouseEvent e)
  x1=e.getX();
  y1=e.getY(); );
  addMouseMotionListener(new MouseMotionAdapter()
  public void mouseDragged(MouseEvent e)
  x2=e.getX() ;
  y2=e.getY() ;
  repaint(); );
  
  public void paint(Graphics g)
  
  g.drawLine(x1,y1,x2,y2);
  x1=x2;
  y1=y2;
  
  public static void main(String args[])
  
  new Test();
  
  
  

以上是关于用java swing写一个记事本的主要内容,如果未能解决你的问题,请参考以下文章

用java编写一个控制时间的程序

用java编写一个简单的画图程序。不用复杂

用java编写的swing程序。如何在主界面中实现刷新的功能,就是让主界面的组件刷新

用java编写的swing程序。如何在主界面中实现刷新的功能,就是让主界面的组件刷新

用netbeans 做记事本 急急急~~~

上机题目(初级)- 用数组实现记事本+光标和删除(Java)