java備忘錄源程序代碼 備忘錄html

java編譯的簡(jiǎn)易備忘錄.

1.確定數(shù)格式,編寫記錄類

站在用戶的角度思考問題,與客戶深入溝通,找到黃州網(wǎng)站設(shè)計(jì)與黃州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋黃州地區(qū)。

Record{

//記錄編號(hào)

private int id;

//提醒時(shí)間

private Time t;

//提醒信息

private String info;

}

2.確定數(shù)據(jù)訪問方式,可以通過文件也可以通過數(shù)據(jù)庫。

寫一個(gè)數(shù)據(jù)訪問類,例如用文件的形式

DataAccesser{

private static syncronized File file;

//構(gòu)造函數(shù),進(jìn)行file初始化

public static DataAccesser(){

}

//寫入記錄

public static void write(Record){

}

//根據(jù)時(shí)間讀取記錄

public static Record read(int id){

}

//根據(jù)時(shí)間讀取記錄集

public static ListRecord readSet(Time t){

}

}

3.定義存取信息隊(duì)列的類

class MessageQueue{

//保存當(dāng)前時(shí)刻以后的所有信息的時(shí)間隊(duì)列,安順序

private syncronized static ListTime;

//插入隊(duì)列

public static void put(){

//需要按時(shí)間順序插入

}

//獲得當(dāng)前時(shí)間前的時(shí)間集

public static ListTime get(){

//獲得后需要將得到的時(shí)間從列表中刪除

}

}

4.編寫提醒類,用于提醒

class Reminder{

public void run(){

ListTime tl=getCurrentTime();

//查詢出所有

需要提醒的記錄調(diào)用remind()方法進(jìn)行提醒

}

//提醒

protected void remind(Record r){

//這里寫如何提醒

}

//獲得當(dāng)前時(shí)間

protected Time getCurrentTime(){

}

}

5.定時(shí)器類,

//提醒的主運(yùn)行類

class Main{

static Thread thread;

public Main(){

thread=new Thread(){

public void run(){

while(true){

new Reminder().run();

try{

Thread.sleep(60000);

}catch(Exception e ){}

}

}

}

public static void start(){

thread.start();

}

public sattic void stop(){

thread.stop();

}

}

}

只是個(gè)框架,具體代碼自己完成吧,可以查詢相關(guān)的API。

【java圖形界面程序】 備忘錄

首先建立一個(gè)備忘類

class Memo{

String content;

Date date;//或者使用Calendar類型

}

1. 點(diǎn)“寫新備忘”怎樣進(jìn)入 另一個(gè)界面?怎樣來保存更新的備忘?

在程序內(nèi)部維護(hù)一個(gè)ArrayListDate,用來存放所有的備忘。用另一個(gè)Frame作為寫新備忘的界面,比如frame2,點(diǎn)擊“寫新備忘”的時(shí)候令frame2.setVisable(true)即可。寫完之后將該備忘加入到ArrayList即可

2. 主界面中怎樣顯示最近的備忘,且顯示的是將來的時(shí)間的備忘?

最近的備忘應(yīng)該是指即將發(fā)生的那個(gè)備忘吧。遍歷ArrayList,找到將來最先發(fā)生的備忘,在文本框里將其顯示出來即可,當(dāng)然這件事情應(yīng)該自動(dòng)完成,這就需要一個(gè)線程不停地掃描ArrayList,并進(jìn)行更新。一個(gè)簡(jiǎn)單的做法是添加一個(gè)“刷新”按鈕,每次點(diǎn)擊“刷新”的時(shí)候,才去檢查ArrayList

3. 點(diǎn)查看備忘 怎樣進(jìn)入查看界面?

彈出另一個(gè)窗口,顯示ArrayList里的所有內(nèi)容

4. 能不能使備忘錄自己提醒呢?怎么提醒呢?

發(fā)出一聲“嘟嘟”聲來提醒,java.awt.Toolkit.getDefaultToolkit().beep()。

看來還是需要一個(gè)自動(dòng)刷新功能,就如同上面所說的,在一個(gè)單獨(dú)的線程里不停地檢查有哪些事情要發(fā)生,并顯示到主界面。

java記事本源代碼

給你個(gè)做好了的Java的源程序的記事本,自己看看就行了的,不怎么難的···

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

public class MyNotepad implements ActionListener{

private JFrame frame=new JFrame("新記事本");

private JTextArea jta=new JTextArea();

private String result="";

private boolean flag=true;

private File f;

private JButton jb=new JButton("開始");

private JTextField jtf=new JTextField(15);

private JTextField jt=new JTextField(15);

private JButton jbt=new JButton("替換為");

private JButton jba=new JButton("全部替換");

private Icon ic=new ImageIcon("D:\\java課堂筆記\\GUI\\11.gif");

private String value;

private int start=0;

private JFrame jf=new JFrame("查找");

private JFrame jfc=new JFrame("替換");

@Override

public void actionPerformed(ActionEvent e) {

String comm=e.getActionCommand();

if("新建".equals(comm)){

if(!(frame.getTitle().equals("新記事本"))){

if(!flag){

write();

newNew();

}else{

JFileChooser jfc=new JFileChooser("D:\\java課堂筆記");

int returnVal = jfc.showDialog(null,"保存為");

if(returnVal == JFileChooser.APPROVE_OPTION) {//選擇文件后再執(zhí)行下面的語句,保證了程序的健壯性

f=jfc.getSelectedFile();

flag=false;

write();

}

}

}else if(!(jta.getText().isEmpty())){

JFileChooser jfc=new JFileChooser("D:\\java課堂筆記");

int returnVal = jfc.showDialog(null,"保存為");

if(returnVal == JFileChooser.APPROVE_OPTION) {//選擇文件后再執(zhí)行下面的語句,保證了程序的健壯性

f=jfc.getSelectedFile();

flag=false;

write();

newNew();

}

}else{

newNew();

}

}else if("打開".equals(comm)){

JFileChooser jfc=new JFileChooser("D:\\java課堂筆記");

jfc.setDialogType(JFileChooser.OPEN_DIALOG);

int returnVal = jfc.showOpenDialog(null);

if(returnVal == JFileChooser.APPROVE_OPTION) {//選擇文件后再執(zhí)行下面的語句,保證了程序的健壯性

f=jfc.getSelectedFile();

frame.setTitle(f.getName());

result=read();

flag=false;

value=result;

jta.setText(result);

}

}else if("保存".equals(comm)){

JFileChooser jfc=new JFileChooser("D:\\java課堂筆記");

if(flag){

int returnVal = jfc.showDialog(null,"保存為");

if(returnVal == JFileChooser.APPROVE_OPTION) {//選擇文件后再執(zhí)行下面的語句,保證了程序的健壯性

f=jfc.getSelectedFile();

flag=false;

write();

}

}else{

write();

}

}else if("另存".equals(comm)){

JFileChooser jfc=new JFileChooser("D:\\java課堂筆記");

int returnVal = jfc.showDialog(null,"另存");

if(returnVal == JFileChooser.APPROVE_OPTION) {//選擇文件后再執(zhí)行下面的語句,保證了程序的健壯性

f=jfc.getSelectedFile();

write();

}

}else if("退出".equals(comm)){

System.exit(0);

}else if("撤銷".equals(comm)){

jta.setText(value);

}else if("剪切".equals(comm)){

value=jta.getText();

jta.cut();

}else if("復(fù)制".equals(comm)){

jta.copy();

}else if("粘貼".equals(comm)){

value=jta.getText();

jta.paste();

}else if("刪除".equals(comm)){

value=jta.getText();

jta.replaceSelection(null);

}else if("全選".equals(comm)){

jta.selectAll();

}else if("查找".equals(comm)){

value=jta.getText();

jf.add(jtf,BorderLayout.CENTER);

jf.add(jb,BorderLayout.SOUTH);

jf.setLocation(300,300);

jf.pack();

jf.setVisible(true);

jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}else if("替換".equals(comm)){

value=jta.getText();

GridLayout gl=new GridLayout(3,3);

JLabel jl1=new JLabel("查找內(nèi)容:");

JLabel jl2=new JLabel("替換為:");

jfc.setLayout(gl);

jfc.add(jl1);

jfc.add(jtf);

jfc.add(jb);

jfc.add(jl2);

jfc.add(jt);

jfc.add(jbt);

JLabel jl3=new JLabel();

JLabel jl4=new JLabel();

jfc.add(jl3);

jfc.add(jl4);

jfc.add(jba);

jfc.setLocation(300,300);

jfc.pack();

jfc.setVisible(true);

jfc.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}else if("版本".equals(comm)){

JDialog jd=new JDialog(frame,"關(guān)于對(duì)話框");

jd.setSize(200,200);

JLabel l=new JLabel("哈哈哈哈哈哈哈哈哈哈呵呵呵呵呵呵呵呵呵呵呵呵呵");

jd.add(l,BorderLayout.CENTER);

jd.setLocation(100,200);

jd.setSize(300,300);

jd.setVisible(true);

// jd.pack();

jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

}else if("開始".equals(comm)||"下一個(gè)".equals(comm)){

String temp=jtf.getText();

int s=value.indexOf(temp,start);

if(value.indexOf(temp,start)!=-1){

jta.setSelectionStart(s);

jta.setSelectionEnd(s+temp.length());

jta.setSelectedTextColor(Color.GREEN);

start=s+1;

jb.setText("下一個(gè)");

// value=value.substring(s+temp.length());//不能截取字串

}else {

JOptionPane.showMessageDialog(jf, "查找完畢!", "提示", 0, ic);

jf.dispose();

}

}else if("替換為".equals(comm)){

String temp=jtf.getText();

int s=value.indexOf(temp,start);

if(value.indexOf(temp,start)!=-1){

jta.setSelectionStart(s);

jta.setSelectionEnd(s+temp.length());

jta.setSelectedTextColor(Color.GREEN);

start=s+1;

jta.replaceSelection(jt.getText());

}else {

JOptionPane.showMessageDialog(jf, "查找完畢!", "提示", 0, ic);

jf.dispose();

}

}else if("全部替換".equals(comm)){

String temp=jta.getText();

temp=temp.replaceAll(jtf.getText(), jt.getText());

jta.setText(temp);

}

}

public String read(){

String temp="";

try {

FileInputStream fis = new FileInputStream(f.getAbsolutePath());

byte[] b=new byte[1024];

while(true){

int num=fis.read(b);

if(num==-1)break;

temp=temp+new String(b,0,num);

}

fis.close();

} catch (Exception e1) {

e1.printStackTrace();

}

return temp;

}

public void write(){

try {

FileOutputStream fos=new FileOutputStream(f);

fos.write(jta.getText().getBytes());

fos.close();

} catch (Exception e) {

e.printStackTrace();

}

}

public void newNew(){

frame.dispose();

new MyNotepad();

flag=true;

}

public MyNotepad(){

JMenuBar jmb=new JMenuBar();

String[] menuLab={"文件","編輯","幫助"};

String[][] menuItemLab={{"新建","打開","保存","另存","退出"},

{"撤銷","剪切","復(fù)制","粘貼","刪除","全選","查找","替換"},

{"版本"}};

for(int i=0;imenuLab.length;i++){

JMenu menu=new JMenu(menuLab[i]);

jmb.add(menu);

for(int j=0;jmenuItemLab[i].length;j++){

JMenuItem jmi=new JMenuItem(menuItemLab[i][j]);

menu.add(jmi);

jmi.addActionListener(this);

}

}

frame.setJMenuBar(jmb);

jta.setLineWrap(true);//自動(dòng)換行

JScrollPane jsp=new JScrollPane(jta);//滾動(dòng)窗口面板

frame.add(jsp);

jb.addActionListener(this);

jbt.addActionListener(this);

jba.addActionListener(this);

frame.setLocation(200,50);

frame.setSize(620,660);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new MyNotepad();

}

}

當(dāng)前題目:java備忘錄源程序代碼 備忘錄html
分享URL:http://bm7419.com/article6/ddcohog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、靜態(tài)網(wǎng)站、網(wǎng)站收錄、網(wǎng)站營(yíng)銷、自適應(yīng)網(wǎng)站、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司