資源簡介
讀者寫者問題圖形界面--Java版,有圖形界面,有文字提示,邏輯明確、有源代碼和jar程序
代碼片段和文件信息
package?writerreager;
import?java.awt.BorderLayout;
import?java.awt.Container;
import?java.awt.Dimension;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.text.SimpleDateFormat;
import?java.util.Date;
import?javax.swing.ImageIcon;
import?javax.swing.JButton;
import?javax.swing.Jframe;
import?javax.swing.JLabel;
import?javax.swing.JPanel;
import?javax.swing.JScrollPane;
import?javax.swing.JTextArea;
import?javax.swing.JToolBar;
public?class?WriterReager?extends?Jframe?{
JButton?startstopcontinend;
int?a=1b=2;
ImageIcon?frwdpq;
JLabel[]?L;//放圖片
JPanel[]?LL;
JTextArea[]?T;//存放信息
JScrollPane[]?S;
public?WriterReager(){
??????r=?new?ImageIcon(“reader.gif“);
??????w=?new?ImageIcon(“writer.gif“);
??????f?=?new?ImageIcon(“free.gif“);
??????d?=?new?ImageIcon(“done.gif“);
??????p?=?new?ImageIcon(“play.png“);
??????q?=?new?ImageIcon(“quit.png“);
??????settitle(“Java模擬讀者寫者問題!“);
??????setSize(800650);
??????JPanel?panel=new?JPanel();
??????JPanel?p2?=?new?JPanel();
??????JToolBar?TB??=?new?JToolBar();
??????Container?ct=this.getContentPane();
??????Data?db?=?new?Data();
??????L=new?JLabel[7];
??????LL=new?JPanel[7];
??????T=?new?JTextArea[7];
??????S=??new?JScrollPane[7];
??????for(int?i=1;i<=6;i++)?{
???????????L[i]=new?JLabel();
???????????LL[i]=new?JPanel();
???????????T[i]=?new?JTextArea();
???????????L[i].setPreferredSize(new?Dimension(8370));
???????????T[i].setPreferredSize(new?Dimension(5501000));
???????????L[i].setIcon(f);
???????????S[i]=??new?JScrollPane();
???????????S[i].setPreferredSize(new?Dimension(650150));
???????????LL[i].setPreferredSize(new?Dimension(65070));
???????????S[i].add(T[i]);
???????????S[i].setViewportView(T[i]);
???????????LL[i].add(S[i]);
???????}
???????//讀者線程
????final?reader?r1?=?new?reader(1L[1]T[1]db);
????final?reader?r2?=?new?reader(2L[2]T[2]db);
????final?reader?r3?=?new?reader(3L[3]T[3]db);
????final?reader?r4?=?new?reader(4L[4]T[4]db);
?????//寫者線程
????final?writer?w1?=?new?writer(1L[5]T[5]db);
????final?writer?w2?=?new?writer(2L[6]T[6]db);
????start?=?new?JButton(“開始“p);
????start.addActionListener(new?ActionListener(){
????????????????????????public?void?actionPerformed(ActionEvent?event)
????????????????????????{
??????????????????????????r1.start();
??????????????????????????r2.start();
??????????????????????????r3.start();
??????????????????????????w1.start();
??????????????????????????r4.start();
??????????????????????????w2.start();
????????????????????????}});
????end??=?new?JButton(“結束“q);
????end.addActionListener(new?ActionListener(){
????????????????????????public?void?actionPerformed(ActionEvent?event)
????????????????????????{????System.exit(0);
????????????????????????}});?
????TB.add(start);
????TB.add(end);
????add(?TBBorderLayout.NORTH);
????panel.add(new?JLabel(f));
????panel.add(new?JLabel(“等待中.....??????“));
????panel.add(new?JLabel(r));
????panel.add(new?JLabel(“讀者(前4個)?????“));
????panel.add(new?JLabel(w));
????panel.ad
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4884??2010-06-07?12:14??讀者寫者\dist\done.GIF
?????文件???????6682??2010-06-05?23:23??讀者寫者\dist\free.GIF
?????文件???????3053??2009-11-12?20:09??讀者寫者\dist\play.png
?????文件???????2969??2009-11-12?20:08??讀者寫者\dist\quit.png
?????文件??????22197??2010-06-05?16:53??讀者寫者\dist\reader.gif
?????文件???????1451??2010-06-07?22:36??讀者寫者\dist\README.TXT
????..A.SH.?????20480??2010-10-06?20:25??讀者寫者\dist\Thumbs.db
?????文件??????12455??2010-06-06?00:28??讀者寫者\dist\writer.gif
?????文件??????12990??2010-06-07?22:36??讀者寫者\dist\WriterReager.jar
?????文件???????7163??2010-06-08?12:27??讀者寫者\WriterReager.java
?????目錄??????????0??2010-10-06?20:29??讀者寫者\dist
?????目錄??????????0??2010-10-06?20:29??讀者寫者
-----------?---------??----------?-----??----
????????????????94324????????????????????12
- 上一篇:JAVA實現GUI文件管理器
- 下一篇:安卓 usb 串口通信
評論
共有 條評論