現在很多醫院都在實行掛號制度,有利于維持醫院的次序。起初感覺是很難開發的一個系統,其實不然,仔細想起來不是 一件什么難事。。。嘿嘿,我是這樣來實現著個項目的。。。。分析如下,把醫院系統簡單地分成幾種類,病人,醫生,掛號等等。。
第一:掛號選擇醫生
代碼如下:
package Waiter;
import java.util.Queue;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class HospitalWorkerUi {
public static void main(String args[]){
final Display display= Display.getDefault();
final Shell shell = new Shell();
shell.setMaximized(true);
shell.setText("醫院工作人員");
QueueServer qs = new QueueServer();
final Queue<Waiter> waiterList = qs.init();
final Queue<SoWaiter> soWaiterList = qs.init1();
final Queue<FastWaiter> FastWaiterList = qs.init2();
final Text txt = new Text(shell,SWT.MULTI);
txt.setBounds(500, 50, 550, 450);
// 事件代碼里要訪問button
final Button button = new Button(shell, SWT.Activate);
button.addSelectionListener(new SelectionAdapter() { // 加一個??擇監聽器
public void widgetSelected(SelectionEvent e) {
//System.out.println("############### " + waiterList.size());
Waiter waiter= waiterList.poll();
if(waiter!= null){
txt.setText(waiter.getNum()+"號顧客請到1號窗口檢查");
}else{
txt.setText("現在沒有人,您可以休息會了\n 喝杯咖啡吧,哈哈!");
}
}
});//數據庫存取,網絡連接,邏輯處理
button.setBounds(450, 530, 200,75); // 設置按鈕位置
button.setFont(new Font(display,"宋體",12,SWT.BOLD));
button.setText("專家 張醫生");// 設置按鈕上的文字
final Button button1 = new Button(shell, SWT.Activate);
button1.addSelectionListener(new SelectionAdapter() { // 加一個??擇監聽器
public void widgetSelected(SelectionEvent e) {
//System.out.println("############### " + waiterList.size());
SoWaiter waiter= soWaiterList.poll();
if(waiter!= null){
txt.setText(waiter.getNum()+"號顧客請到2號窗口檢查");
}else{
txt.setText("現在沒有人,您可以休息會了\n 喝杯咖啡吧,哈哈!");
}
}
});//數據庫存取,網絡連接,邏輯處理
button1.setBounds(750, 530, 200,75); // 設置按鈕位置
button1.setFont(new Font(display,"宋體",12,SWT.BOLD));
button1.setText("專家 王醫生");// 設置按鈕上的文字
final Button button2 = new Button(shell, SWT.Activate);
button2.addSelectionListener(new SelectionAdapter() { // 加一個??擇監聽器
public void widgetSelected(SelectionEvent e) {
//System.out.println("############### " + waiterList.size());
FastWaiter waiter= FastWaiterList.poll();
if(waiter!= null){
txt.setText(waiter.getNum()+"號顧客請到3號窗口檢查");
}else{
txt.setText("現在沒有人,您可以休息會了\n 喝杯咖啡吧,哈哈!");
}
}
});//數據庫存取,網絡連接,邏輯處理
button2.setBounds(1050, 530, 200,75); // 設置按鈕位置
button2.setFont(new Font(display,"宋體",12,SWT.BOLD));
button2.setText("專家 李醫生");// 設置按鈕上的文字
shell.layout();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
運行結果:
第二:醫生按次序為病人治病
實現代碼如下:
package Waiter;
import java.util.Queue;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class WaiterQueueUi {
public static void main(String args[]){
final Display display=Display.getDefault();
final Shell shell=new Shell();
shell.setMaximized(true);
shell.setText("醫院病人掛號口");
QueueServer qs = new QueueServer();//實例化類
QueueServer q= new QueueServer();
QueueServer p = new QueueServer();
final Queue<Waiter> waiterList = qs.init();//初始化隊列服務器
final Text txt = new Text(shell,SWT.MULTI);
txt.setBounds(65, 30, 180, 70);
final Queue<SoWaiter> soWaiterList = q.init1();
final Text txt1 = new Text(shell,SWT.MULTI);
txt1.setBounds(400, 30, 180, 70);
final Queue<FastWaiter> fastWaiterList = p.init2();
final Text txt2 = new Text(shell,SWT.MULTI);
txt2.setBounds(800, 30, 180, 70);
Label label=new Label(shell,SWT.NULL);
label.setBounds(400, 250, 500, 205); // 設置按鈕位置
label.setFont(new Font(display,"宋體",16,SWT.BOLD));
label.setText("醫院會為您們最優質的服務!!!");// 設置按鈕上的文字
// 事件代碼里要訪問button
final Button button = new Button(shell, SWT.Activate);
button.addSelectionListener(new SelectionAdapter() { // 加一個??擇監聽器
public void widgetSelected(SelectionEvent e) {
//System.out.println("############### " + waiterList.size());
Waiter waiter= waiterList.poll();
if(waiter!= null){
txt.setText(waiter.getNum()+"號顧客請到1號窗口辦理業務");
}else{
txt.setText("現在沒有人辦理業務了,您可以休息會了\n 喝杯咖啡吧,哈哈!");
}
}
});//數據庫存取,網絡連接,邏輯處理
button.setBounds(90, 141, 100, 25); // 設置按鈕位置
button.setText("專家 張醫生");// 設置按鈕上的文字
// 事件代碼里要訪問button
final Button button1 = new Button(shell, SWT.Activate);
button1.addSelectionListener(new SelectionAdapter() { // 加一個??擇監聽器
public void widgetSelected(SelectionEvent e) {
//System.out.println("############### " + waiterList.size());
SoWaiter sowaiter= soWaiterList.poll();
if(sowaiter!= null){
txt1.setText(sowaiter.getNum()+"病人到2號門診辦理業務"+"\n"+"二號門診專家會認真給你檢查病情的");
}else{
txt1.setText("現在沒有人辦理業務了,您可以休息會了\n 喝杯咖啡吧,哈哈!");
}
}
});//數據庫存取,網絡連接,邏輯處理
button1.setBounds(450, 141, 100, 25); // 設置按鈕位置
button1.setText("專家 王醫生");// 設置按鈕上的文字
// 事件代碼里要訪問button
final Button button2 = new Button(shell, SWT.Activate);
button2.addSelectionListener(new SelectionAdapter() { // 加一個??擇監聽器
public void widgetSelected(SelectionEvent e) {
//System.out.println("############### " + waiterList.size());
FastWaiter fastWaiter= fastWaiterList.poll();
if(fastWaiter!= null){
txt2.setText(fastWaiter.getNum()+"號顧客請到1號窗口辦理業務");
}else{
txt2.setText("現在沒有人辦理業務了,您可以休息會了\n 喝杯咖啡吧,哈哈!");
}
}
});//數據庫存取,網絡連接,邏輯處理
button2.setBounds(800, 141, 100, 25); // 設置按鈕位置
button2.setText("專家 李醫生");// 設置按鈕上的文字
shell.layout();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
執行結果如下:
posted on 2010-11-04 11:00
龍ぜ殘劍 閱讀(1311)
評論(0) 編輯 收藏