亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java實現超級實用的日記本

2019-11-26 15:12:01
字體:
來源:轉載
供稿:網友

演示圖

演示圖

CalendarApp.java

package calenda; import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.io.File;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.Locale; import javax.swing.JApplet;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.SwingUtilities;import javax.swing.border.TitledBorder; public class CalendarApp extends JFrame{     private CalendarPanel calendarPanel=new CalendarPanel();  private static JLabel jlblLearn=new JLabel("開始準備記單詞");  private String versionID="歡迎使用版本1.0.20150427";  private JLabel jlblVersionID=new JLabel(versionID);  private JButton jbtPrior=new JButton("←");  private JButton jbtNext=new JButton("→");  private JButton jbtDiary=new JButton("寫日記");  private JButton jbtScanDiary=new JButton("看日記");  private static int year;  public void init()  {    year=calendarPanel.getYear();    calendarPanel.setBackground(Color.WHITE);    /**     * 添加功能性按鈕到日歷面板下方     */    JPanel jpButtons=new JPanel(new FlowLayout());    //設置按鈕背景色為白色    jbtPrior.setBackground(Color.WHITE);    jbtNext.setBackground(Color.WHITE);    jbtDiary.setBackground(Color.WHITE);    jbtScanDiary.setBackground(Color.WHITE);    /*     * 給四個按鈕添加鼠標事件,使其更加炫酷     */    //一、后退按鈕    jbtPrior.addMouseListener(new MouseListener(){       @Override      public void mouseClicked(MouseEvent arg0) {        // TODO Auto-generated method stub               }       @Override      public void mouseEntered(MouseEvent arg0) {        // TODO Auto-generated method stub        jbtPrior.setForeground(Color.GREEN);      }       @Override      public void mouseExited(MouseEvent arg0) {        // TODO Auto-generated method stub        jbtPrior.setForeground(Color.BLACK);      }       @Override      public void mousePressed(MouseEvent arg0) {        // TODO Auto-generated method stub               }       @Override      public void mouseReleased(MouseEvent arg0) {        // TODO Auto-generated method stub               }           });    //二、前進按鈕        jbtNext.addMouseListener(new MouseListener(){           @Override          public void mouseClicked(MouseEvent arg0) {            // TODO Auto-generated method stub                       }           @Override          public void mouseEntered(MouseEvent arg0) {            // TODO Auto-generated method stub            jbtNext.setForeground(Color.GREEN);          }           @Override          public void mouseExited(MouseEvent arg0) {            // TODO Auto-generated method stub            jbtNext.setForeground(Color.BLACK);          }           @Override          public void mousePressed(MouseEvent arg0) {            // TODO Auto-generated method stub                       }           @Override          public void mouseReleased(MouseEvent arg0) {            // TODO Auto-generated method stub                       }                   });        //三、寫日記按鈕        jbtDiary.addMouseListener(new MouseListener(){           @Override          public void mouseClicked(MouseEvent arg0) {            // TODO Auto-generated method stub                       }           @Override          public void mouseEntered(MouseEvent arg0) {            // TODO Auto-generated method stub            jbtDiary.setForeground(Color.GREEN);          }           @Override          public void mouseExited(MouseEvent arg0) {            // TODO Auto-generated method stub            jbtDiary.setForeground(Color.BLACK);          }           @Override          public void mousePressed(MouseEvent arg0) {            // TODO Auto-generated method stub                       }           @Override          public void mouseReleased(MouseEvent arg0) {            // TODO Auto-generated method stub                       }                   });        //四、看日記按鈕        jbtScanDiary.addMouseListener(new MouseListener(){           @Override          public void mouseClicked(MouseEvent arg0) {            // TODO Auto-generated method stub                       }           @Override          public void mouseEntered(MouseEvent arg0) {            // TODO Auto-generated method stub            jbtScanDiary.setForeground(Color.GREEN);          }           @Override          public void mouseExited(MouseEvent arg0) {            // TODO Auto-generated method stub            jbtScanDiary.setForeground(Color.BLACK);          }           @Override          public void mousePressed(MouseEvent arg0) {            // TODO Auto-generated method stub                       }           @Override          public void mouseReleased(MouseEvent arg0) {            // TODO Auto-generated method stub                       }                   });    jpButtons.add(jbtPrior);    jpButtons.add(jbtNext);    jpButtons.add(jbtDiary);    jpButtons.add(jbtScanDiary);    jpButtons.setBackground(Color.WHITE);    /**     * 添加日歷主要組件     */    JPanel jpCalendar=new JPanel(new BorderLayout());    jpCalendar.add(calendarPanel,BorderLayout.CENTER);    jpCalendar.add(jpButtons,BorderLayout.SOUTH);         /**     * 添加背單詞模塊     */    JPanel jpLearn=new JPanel(new FlowLayout());    jpLearn.setBorder(new TitledBorder("開心背單詞"));    jpLearn.add(jlblLearn);    jpLearn.setBackground(Color.WHITE);    /**     * 添加版本號信息     */    JPanel jpVersionID=new JPanel(new FlowLayout());    Font font=new Font("宋體",Font.PLAIN,4);    jpVersionID.setFont(font);    jpVersionID.add(jlblVersionID);    jpVersionID.setBackground(Color.WHITE);    /**     * 容器面板,合并記單詞與版本號模塊     */    JPanel jpBelow=new JPanel(new BorderLayout(2,1));    jpBelow.add(jpLearn,BorderLayout.CENTER);    jpBelow.add(jpVersionID,BorderLayout.SOUTH);         this.add(jpCalendar,BorderLayout.CENTER);    this.add(jpBelow,BorderLayout.SOUTH);    this.setBackground(Color.WHITE);    this.setSize(700, 500);    this.setLocationRelativeTo(null);    this.setTitle("多功能日歷");    this.setDefaultCloseOperation(EXIT_ON_CLOSE);    this.setVisible(true);         jbtScanDiary.addActionListener(new ActionListener()    {      @Override      public void actionPerformed(ActionEvent e) {          new Thread(new thread_scanDiary()).start();      }    });    jbtDiary.addActionListener(new ActionListener()    {       @Override      public void actionPerformed(ActionEvent e) {        //獲取本地系統時間        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");//設置日期格式        String time=df.format(new Date());        new Thread(new thread_keepDiary(time)).start();      }    });                   jbtPrior.addActionListener(new ActionListener()    {      @Override      public void actionPerformed(ActionEvent e) {        // TODO Auto-generated method stub        int currentMonth=calendarPanel.getMonth();        if(currentMonth==0)        {          calendarPanel.setYear(year);          year--;        }        calendarPanel.setMonth((currentMonth-1)%12);      }    });         jbtNext.addActionListener(new ActionListener()    {       @Override      public void actionPerformed(ActionEvent e) {        // TODO Auto-generated method stub        int currentMonth=calendarPanel.getMonth();        if(currentMonth==11)        {          calendarPanel.setYear(++year);        }        calendarPanel.setMonth((currentMonth+1)%12);      }    });  }      public static void main(String[] args) throws InterruptedException {    // TODO Auto-generated method stub    SwingUtilities.invokeLater(new Runnable(){      @Override      public void run() {        // TODO Auto-generated method stub        new CalendarApp().init();        new Thread(new thread_showEnglish(jlblLearn)).start();      }    });  }    }

CalendarPanel.java

/** * 本程序功能是進行日歷主面板布局 */package calenda; import java.awt.BorderLayout;import java.awt.Color;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.text.DateFormatSymbols;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.GregorianCalendar;import java.util.Locale; import javax.swing.*;import javax.swing.border.LineBorder; public class CalendarPanel extends JPanel {  /**   * 聲明數據變量   */  private static final long serialVersionUID = 1L;  private JLabel jlblHeader=new JLabel(" ",JLabel.CENTER);  private JLabel[] jlblDay=new JLabel[49];  private Calendar calendar=new GregorianCalendar();  private int year0=calendar.get(Calendar.YEAR);  private int month0=calendar.get(Calendar.MONTH);  private int day0=calendar.get(Calendar.DAY_OF_MONTH);  private int month;  private int year;  private int day;  private JPanel jpDays=new JPanel(new GridLayout(0,7));  Font font1=new Font("宋體",Font.ITALIC,20);  Font font2=new Font("宋體",Font.BOLD,26);  Font font3=new Font("宋體",Font.BOLD,30);  public CalendarPanel()  {    //設置日歷頭部件以及日期標簽的背景色為白色    jlblHeader.setBackground(Color.WHITE);    jpDays.setBackground(Color.WHITE);    //聲明每個標簽    for(int i=0;i<49;i++)    {      jlblDay[i]=new JLabel();      jlblDay[i].setBorder(new LineBorder(Color.LIGHT_GRAY,1));      jlblDay[i].setHorizontalAlignment(JLabel.RIGHT);      jlblDay[i].setVerticalAlignment(JLabel.TOP);    }    calendar=new GregorianCalendar();    month=calendar.get(Calendar.MONTH);    year=calendar.get(Calendar.YEAR);    day=calendar.get(Calendar.DATE);    //更新日歷    updateCalendar();    showHeader();    showDays();    //添加到主面板    this.setLayout(new BorderLayout());    this.add(jlblHeader, BorderLayout.NORTH);    this.add(jpDays, BorderLayout.CENTER);  }  private void showHeader()  {    SimpleDateFormat sdf=new SimpleDateFormat("MMMM yyyy",Locale.CHINA);    String header=sdf.format(calendar.getTime());    jlblHeader.setText(header);    jlblHeader.setForeground(Color.BLUE);    jlblHeader.setFont(font3);  }  private void showDayNames()  {    DateFormatSymbols dfs=new DateFormatSymbols(Locale.CHINA);    String dayNames[]=dfs.getWeekdays();    for(int i=0;i<7;i++)    {      jlblDay[i].setText(dayNames[i+1]);      jlblDay[i].setForeground(Color.BLUE);      jlblDay[i].setHorizontalAlignment(JLabel.CENTER);      jlblDay[i].setFont(font2);      jpDays.add(jlblDay[i]);    }  }  public void showDays()  {    jpDays.removeAll();    showDayNames();    int startingDayOfMonth=calendar.get(Calendar.DAY_OF_WEEK);    Calendar cloneCalendar=(Calendar)calendar.clone();    cloneCalendar.add(Calendar.DATE, -1);    int daysInPrecedingMonth=cloneCalendar.getActualMaximum(Calendar.DAY_OF_MONTH);    for(int i=0;i<startingDayOfMonth-1;i++)    {      jlblDay[i+7].setForeground(Color.LIGHT_GRAY);      jlblDay[i+7].setHorizontalAlignment(JLabel.CENTER);      jlblDay[i+7].setText(daysInPrecedingMonth-startingDayOfMonth+2+i+"");      jlblDay[i+7].setFont(font1);      jpDays.add(jlblDay[i+7]);    }    int daysInCurrentMonth=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);    for(int i=1;i<=daysInCurrentMonth;i++)    {      if(i==day0&&year==year0&&month==month0)      {        jlblDay[i-2+startingDayOfMonth+7].setForeground(Color.red);        jlblDay[i-2+startingDayOfMonth+7].setHorizontalAlignment(JLabel.CENTER);        jlblDay[i-2+startingDayOfMonth+7].setText(i+"");        jlblDay[i-2+startingDayOfMonth+7].setFont(font2);        jpDays.add(jlblDay[i-2+startingDayOfMonth+7]);      }      else      {        jlblDay[i-2+startingDayOfMonth+7].setForeground(Color.darkGray);        jlblDay[i-2+startingDayOfMonth+7].setHorizontalAlignment(JLabel.CENTER);        jlblDay[i-2+startingDayOfMonth+7].setText(i+"");        jlblDay[i-2+startingDayOfMonth+7].setFont(font1);        jpDays.add(jlblDay[i-2+startingDayOfMonth+7]);      }    }    int j=1;    for(int i=daysInCurrentMonth-1+startingDayOfMonth+7;i%7!=0;i++)    {      jlblDay[i].setForeground(Color.LIGHT_GRAY);      jlblDay[i].setHorizontalAlignment(JLabel.CENTER);      jlblDay[i].setText(j++ +"");      jlblDay[i].setFont(font1);      jpDays.add(jlblDay[i]);    }    jpDays.repaint();  }  public void updateCalendar()  {    calendar.set(Calendar.YEAR, year);    calendar.set(Calendar.MONTH, month);    calendar.set(Calendar.DATE, 1);    month=calendar.get(Calendar.MONTH);    year=calendar.get(Calendar.YEAR);    day=calendar.get(Calendar.DATE);  }  public int getMonth()  {    return month;  }  public int getYear()  {    return year;  }  public void setMonth(int month)  {    this.month=month;    updateCalendar();    showHeader();    showDays();  }  public void setYear(int year)  {    this.year=year;    updateCalendar();    showHeader();    showDays();  }}

Diary.java

/** * 本程序為日記類 * 最后修改日期為2015-4-27 */package calenda; import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable; import javax.swing.JOptionPane; public class Diary implements Serializable {   /**   * 數據域   */  //私有變量  private String filename;  private String theme;  private String content;  //含參構造方法  public Diary(String filename,String theme,String content)  {    if(theme.length()==0)    {      JOptionPane.showMessageDialog(null, "無論心情如何,總得有個主題吧!");    }    else if(content.length()==0)    {      JOptionPane.showMessageDialog(null, "把開心的不開心的都盡情寫下吧!");    }    else    {      File CalendarDiaryFile=new File("C:/Calendar/Diary");      if(!CalendarDiaryFile.exists())      {        CalendarDiaryFile.mkdirs();      }    this.filename="C:/Calendar/Diary/"+filename+".dat";    this.theme=theme;    this.content=content;    }  }  public void write() throws Exception  {    File file=new File(filename);    FileOutputStream fos = new FileOutputStream(file);    ObjectOutputStream oos = new ObjectOutputStream(fos);    oos.writeObject(this);    oos.close();  }  public Diary read() throws Exception  {    File file=new File(filename);    FileInputStream fis=new FileInputStream(file);    ObjectInputStream ois = new ObjectInputStream(fis);    Diary d=(Diary) ois.readObject();    ois.close();    return d;  }  /**   * 變量get()方法   * @return   */  public String getTheme()  {    return this.theme;  }  public String getContent()  {    return this.content;  }  /**   * 變量set()方法   * @param comment   */}

thread_keepDiary.java

/** * 備忘錄線程 * 用于單擊標簽時可以存儲日記 * 目前只考慮年月日時間點,不標記具體時間點 */package calenda; import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import java.nio.file.Files; import javax.swing.*; public class thread_keepDiary extends JFrame implements Runnable {   private JFrame jf=this;  private JTextArea jta=new JTextArea();  private JButton jbtSave=new JButton("保存");  private JLabel jlblTitle=new JLabel("主題");  private JTextField jtfTitle=new JTextField(16);  private String id;  public thread_keepDiary(String time)  {         JPanel jpTitle=new JPanel();    jpTitle.setLayout(new BorderLayout());    jpTitle.add(jlblTitle, BorderLayout.WEST);    jpTitle.add(jtfTitle,BorderLayout.CENTER);    jta.setLineWrap(true);    jta.setWrapStyleWord(true);    JScrollPane jsp=new JScrollPane(jta);    jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);    this.id=time;    jbtSave.addActionListener(new ActionListener()    {      @Override      public void actionPerformed(ActionEvent arg0) {        // TODO Auto-generated method stub                 String theme=jtfTitle.getText().trim();        String content=jta.getText();                 Diary d_today=new Diary(id,theme,content);        try        {          d_today.write();          JOptionPane.showMessageDialog(null, "保存成功!");          jf.dispose();        }        catch(Exception e)        {          e.printStackTrace();        }      }    });    this.setTitle("備忘錄"+id);    this.add(jsp,BorderLayout.CENTER);    this.add(jpTitle, BorderLayout.NORTH);    this.add(jbtSave, BorderLayout.SOUTH);    this.setSize(500,500);    this.setLocationRelativeTo(null);    this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);       }  @Override  public void run() {    this.setVisible(true);  } }

thread_mottoSparkle.java

package calenda; import javax.swing.JLabel; public class thread_mottoSparkle implements Runnable{  private JLabel jlbl;  public thread_mottoSparkle(JLabel jlbl)  {    this.jlbl=jlbl;  }  @Override  public void run() {    String content=jlbl.getText();    int L=content.length();    int index=0;    while(true)    {      jlbl.setText(content.substring(0, index));      try      {        Thread.sleep(250);      }      catch(Exception ex)      {        ex.printStackTrace();      }      index++;      if(index==(L+1))        index=0;    }  } }

thread_scanDiary.java

/*** 查看日記線程編寫*/package calenda; import java.awt.BorderLayout;import java.awt.Color;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import java.io.FileInputStream;import java.io.ObjectInputStream; import javax.swing.*;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.DefaultTableModel;import javax.swing.table.JTableHeader; public class thread_scanDiary extends JFrame implements Runnable{  /**   * 聲明變量區   */  private static final long serialVersionUID = 1L;  //日歷數據庫存放路徑  private String path="C:/Calendar/Diary";  //日歷總個數  private static int num;  //聲明日歷文件  private File file;  private File[] Diary;  //聲明JTable模型  private JTable jtable;  //聲明格言面板及標簽及內容等  private JPanel jpMotto=new JPanel();  private JLabel jlblMotto=new JLabel();  private Font font=new Font("宋體",Font.ITALIC,20);  private String wish="唯有專注,才能讓自己成功。";  //增加彈出式菜單2015-4-26  private JPopupMenu jPopupMenu1=new JPopupMenu();  //聲明菜單  private JMenuItem jmiScan=new JMenuItem("查看");  private JMenuItem jmiDelete=new JMenuItem("刪除");  private JMenuItem jmiComment=new JMenuItem("評論");  @Override  public void run() {    //嘗試彈出式菜單增加子菜單    jmiScan.setForeground(Color.RED);    jmiDelete.setForeground(Color.RED);    jmiComment.setForeground(Color.RED);    jPopupMenu1.add(jmiScan);    jPopupMenu1.addSeparator();    jPopupMenu1.add(jmiDelete);    jPopupMenu1.addSeparator();    jPopupMenu1.add(jmiComment);    /**     * 智能獲取文件列表     */    file = new File(path);    Diary=file.listFiles();    num=Diary.length;    String[] head={"  時間  ","   主題   "};    Object[][] diary=new Object[num][2];    for(int i=0;i<num;i++)    {        try{           String time=Diary[i].getName().replaceFirst(".dat",  "");           FileInputStream fis=new FileInputStream(Diary[i]);           ObjectInputStream ois = new ObjectInputStream(fis);           Diary d=(Diary) ois.readObject();           ois.close();           String theme=d.getTheme();           diary[i][0]=time;           diary[i][1]=theme;        }        catch(Exception ex)        {          ex.printStackTrace();        }    }    /**     * 格言面板取     */    jlblMotto.setText(wish);    jlblMotto.setFont(font);    jlblMotto.setForeground(Color.RED);    jpMotto.add(jlblMotto);    jpMotto.setBackground(Color.WHITE);    /**     * 日歷列表面板區     */    final DefaultTableModel tableModel=new DefaultTableModel(diary,head);    jtable=new JTable(tableModel);    jtable.setBackground(Color.WHITE);    jtable.setRowHeight(30);    jtable.setDoubleBuffered(false);    jtable.setComponentPopupMenu(jPopupMenu1);    jtable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);    DefaultTableCellRenderer tcr = new DefaultTableCellRenderer();// 設置table內容居中    tcr.setHorizontalAlignment(SwingConstants.CENTER);// 這句和上句作用一樣    jtable.setDefaultRenderer(Object.class, tcr);    JScrollPane jsp=new JScrollPane(jtable);         /**     * 彈出式菜單事件監聽器編寫     */    //查看菜單    jmiScan.addActionListener(new ActionListener(){      @Override      public void actionPerformed(ActionEvent e) {        if(jtable.getSelectedRow()>=0)        {          int index=jtable.getSelectedRow();          String filename="C:/Calendar/Diary/"+Diary[index].getName();          File file=new File(filename);          try          {            FileInputStream fis=new FileInputStream(file);            ObjectInputStream ois = new ObjectInputStream(fis);            Diary d=(Diary) ois.readObject();            ois.close();            JFrame jf=new JFrame();            JTextArea jta=new JTextArea();            JLabel jlblTitle=new JLabel("主題");            JTextField jtfTitle=new JTextField(16);            JPanel jpTitle=new JPanel();            jpTitle.setLayout(new BorderLayout());            jpTitle.add(jlblTitle, BorderLayout.WEST);            jpTitle.add(jtfTitle,BorderLayout.CENTER);            jta.setLineWrap(true);            jta.setWrapStyleWord(true);            JScrollPane jsp=new JScrollPane(jta);            jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);            jtfTitle.setText(d.getTheme());            jta.setText(d.getContent());            jtfTitle.setEditable(false);            jta.setEditable(false);            jf.setTitle("日記 "+Diary[index].getName().replaceFirst(".dat",  ""));            jf.add(jsp,BorderLayout.CENTER);            jf.add(jpTitle, BorderLayout.NORTH);            jf.setSize(400,400);            jf.setLocationRelativeTo(null);            jf.setDefaultCloseOperation(DISPOSE_ON_CLOSE);            jf.setVisible(true);          }          catch(Exception ex)          {            ex.printStackTrace();          }        }        else        {          JOptionPane.showMessageDialog(null, "請先選中一個日記!");        }      }    });    //刪除菜單    jmiDelete.addActionListener(new ActionListener(){      @Override      public void actionPerformed(ActionEvent e) {        if(jtable.getSelectedRow()>=0)        {          int index=jtable.getSelectedRow();          String filename="C:/Calendar/Diary/"+Diary[index].getName();          File file=new File(filename);          int option=JOptionPane.showConfirmDialog(null, "你確定要刪除日記"+Diary[index].getName()+"?");            if(option==JOptionPane.YES_OPTION)           {             file.delete();             tableModel.removeRow(index);            SwingUtilities.updateComponentTreeUI(jtable);            JOptionPane.showMessageDialog(null, "刪除成功!");           }           else           {           }        }        else        {          JOptionPane.showMessageDialog(null, "請先選中一個日記!");        }      }           });    /**     * 主框架布局     */    this.add(jsp,BorderLayout.CENTER);    this.add(jpMotto, BorderLayout.SOUTH);    this.setSize(600, 500);    this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);    this.setLocationRelativeTo(null);    this.setTitle("日記列表");    this.setVisible(true);    new Thread(new thread_mottoSparkle(jlblMotto)).start();  }}

thread_showEnglish.java

package calenda; import java.awt.Color;import java.awt.Font;import java.io.BufferedReader;import java.io.FileReader;import java.io.LineNumberReader;import java.security.SecureRandom;import java.util.Random; import javax.swing.JLabel; public class thread_showEnglish implements Runnable {  private static JLabel jlbl=new JLabel();  Font font=new Font("���ו",Font.BOLD,18);  public thread_showEnglish(JLabel jlbl)  {    this.jlbl=jlbl;    jlbl.setForeground(Color.MAGENTA);    jlbl.setFont(font);  }  @Override  public void run() {    // TODO Auto-generated method stub    int count=0;    try    {      String file="C:/Calendar/Learning/english_word.txt";      BufferedReader input = new BufferedReader(new FileReader(file));      while(input.readLine()!=null)      {        count++;      }      input.close();      int[] word = new int[count];      SecureRandom random = new SecureRandom();      for(int i=0;i<count;i++)      {        word[i]=random.nextInt(count);      }      int index=0;      Thread.sleep(1000);      while(true)      {        BufferedReader input1 = new BufferedReader(new FileReader(file));        String content="";        int line=0;        while((content=input1.readLine())!=null)        {          if(line==word[index])          {            jlbl.setText(content);          }          line++;        }        if(index==count-1)          index=0;        else          index++;        Thread.sleep(3500);      }    }    catch(Exception ex)    {      ex.printStackTrace();    }  }}

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品欧美风情| 日韩三级成人av网| 成人午夜激情网| 久久久久成人网| 日韩国产在线看| 国产在线日韩在线| 中文字幕久久久av一区| 69视频在线免费观看| 亚洲情综合五月天| 久久久欧美一区二区| 日本一区二区在线播放| 亚洲国产日韩欧美综合久久| 国产精品久久久久久久久免费看| 亚洲精品色婷婷福利天堂| 97久久精品国产| 97在线精品视频| 性视频1819p久久| 久久久精品一区| 精品国偷自产在线视频| 国产婷婷成人久久av免费高清| 日韩欧美中文字幕在线播放| 亚洲理论电影网| 国产成人av在线播放| 欧美放荡办公室videos4k| 欧美激情网站在线观看| 狠狠色噜噜狠狠狠狠97| 日韩美女福利视频| 亚洲欧洲黄色网| 国产98色在线| 欧美日韩国产第一页| 中文字幕在线成人| 欧美日韩国产一区二区| 亚洲第一黄色网| 国产精品美女久久| 亚洲黄色在线观看| 成人午夜小视频| 91免费精品视频| 成人有码视频在线播放| 韩日精品中文字幕| 久久色精品视频| 久热精品视频在线观看| 55夜色66夜色国产精品视频| 欧美电影《睫毛膏》| 欧洲亚洲在线视频| 亚洲精品视频二区| 中文字幕日韩综合av| 2021久久精品国产99国产精品| 日韩激情在线视频| 欧美第一黄网免费网站| 久久久久在线观看| 欧美黄网免费在线观看| 91在线免费视频| 国产亚洲一级高清| 亚洲性猛交xxxxwww| 国产精品视频久| 亚洲欧洲美洲在线综合| 国产日韩欧美在线视频观看| 色与欲影视天天看综合网| 国产欧美久久一区二区| 亚洲乱码一区二区| 久久精品国产清自在天天线| 欧美日韩裸体免费视频| 欧美精品少妇videofree| 在线观看成人黄色| 在线电影欧美日韩一区二区私密| 日韩有码在线电影| 国产欧美精品一区二区| 国产在线观看精品一区二区三区| 欧美最猛性xxxxx(亚洲精品)| 欧美日韩在线视频首页| 国产一区二区丝袜高跟鞋图片| 91免费在线视频| 91精品久久久久久久| 狠狠躁夜夜躁人人爽超碰91| 欧美在线国产精品| 国产日韩在线一区| 亚洲国产精品电影| 欧美性xxxxx极品娇小| 国产精品草莓在线免费观看| 91精品综合久久久久久五月天| 久久影院资源网| 欧美亚洲日本网站| 精品国产一区二区三区久久狼5月| 久久亚洲一区二区三区四区五区高| 性欧美xxxx交| 国产欧美日韩中文字幕| 国产成人一区二区在线| 最近2019中文字幕第三页视频| 国产综合色香蕉精品| 久久久久久亚洲精品中文字幕| 亚洲国产小视频| 亚洲国产高潮在线观看| 亚洲精品永久免费精品| 亚洲精品v天堂中文字幕| 国产精品6699| 成人在线精品视频| 久久免费国产视频| 国产综合香蕉五月婷在线| 亚洲一区二区三区毛片| 国产精品欧美久久久| 亚洲男人av在线| 性欧美xxxx交| 日韩在线精品视频| 亚洲国产精品女人久久久| 97超级碰在线看视频免费在线看| 欧美限制级电影在线观看| 777777777亚洲妇女| 夜夜狂射影院欧美极品| 欧美激情一区二区三区久久久| 日韩av网站电影| 精品无人区太爽高潮在线播放| 中文字幕在线成人| 国产精品白嫩美女在线观看| 欧美乱大交xxxxx另类电影| 久久久久久久久电影| 色综合久久88色综合天天看泰| 国产婷婷97碰碰久久人人蜜臀| 国产精品国模在线| 中文字幕亚洲专区| 国产成人在线视频| 国产视频精品xxxx| 欧美视频在线观看免费| 亚洲第一精品久久忘忧草社区| 欧美与欧洲交xxxx免费观看| 欧美另类极品videosbest最新版本| 欧美精品电影在线| 日本人成精品视频在线| 亚洲人精品午夜在线观看| 97久久精品视频| 久久久噜久噜久久综合| 欧美国产精品日韩| 亚洲国产中文字幕在线观看| 欧美巨猛xxxx猛交黑人97人| 久久精品99国产精品酒店日本| 激情av一区二区| 一区二区亚洲欧洲国产日韩| 国产精品久久久久久中文字| 一区二区三欧美| 久久夜精品香蕉| 欧美乱大交xxxxx另类电影| 亚洲一区二区在线| 欧美精品18videos性欧美| 亚洲色图综合网| 亚洲一区二区三区在线免费观看| 91精品久久久久久久久久久久久| 欧美激情在线有限公司| 91精品国产自产在线老师啪| 久久久久国产精品免费网站| 中文字幕在线亚洲| 国产一区二区三区精品久久久| 亚洲综合色激情五月| 午夜精品久久久久久99热| 亚洲视频axxx| 久久免费视频这里只有精品| 成人中文字幕+乱码+中文字幕| 狠狠色香婷婷久久亚洲精品| 久久精品色欧美aⅴ一区二区| 国产精品永久免费在线| 国内精品伊人久久| 精品中文字幕在线观看| 久久久久久久久爱| 国产精品高潮呻吟久久av无限| 日韩人体视频一二区| 黑人巨大精品欧美一区二区一视频|