⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bank.java

📁 一个简单的银行排号模拟
💻 JAVA
字号:
package work1;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;



import java.awt.event.*;

public class Bank extends JFrame implements Runnable{
	
	JLabel label1=new JLabel("window1");
	JLabel label2=new JLabel("window2");
	JLabel label3=new JLabel("window3");
	JTextField t1=new JTextField(8);
	JTextField t2=new JTextField(8);
	JTextField t3=new JTextField(8);
	public int numClicks=0;
	
	DefaultListModel model=new DefaultListModel();		
	JList li=new JList(model);
	
	
	JButton bt=new JButton("new customer");
	
	Container cp1,cp2,cp3;
	JPanel jp1=new JPanel();
	JPanel jp2=new JPanel();
	 
	 
		public synchronized String getMsg() {

			String msg = "";
	        
	        if(model.size()>0)
	        {
	            
	            msg=model.getElementAt(0).toString();
	            
	            model.removeElementAt(0);
	        }
	        
	        
	        notifyAll();
	        return msg;
			
		} 		
		
		
		public void run(){
			String curRunning;
			while(true){
			curRunning=Thread.currentThread().getName();			
			if(curRunning.equals ("FirstThread")){
				while(t1.getText().endsWith("")){
					t1.setText(getMsg());
					
					try{
						Thread.sleep(6000);
					}catch(InterruptedException e){
						System.out.println(e.getMessage());
					}
					t1.setText("");
			   }
			}
			else if(curRunning.equals("SecondThread")) {
				while(t2.getText().endsWith("")){
					t2.setText(getMsg());
					
					try{
						Thread.sleep(6000);
					}catch(InterruptedException e){
						System.out.println(e.getMessage());
					}
					t2.setText("");
			   }

			}	
			else if(curRunning.equals("ThirdThread")){

				while(t3.getText().endsWith("")){
					t3.setText(getMsg());
					
					try{
						Thread.sleep(6000);
					}catch(InterruptedException e){
						System.out.println(e.getMessage());
					}
					t3.setText("");
			   }

			  }
				
			}	
		}
	
	  
	
	
	 public Bank(){
		super("实验一:银行排号的模拟");
	    jp1.setLayout(new GridLayout(3,2));
		jp1.add(label1);jp1.add(t1);
		jp1.add(label2);jp1.add(t2);
		jp1.add(label3);jp1.add(t3);
		jp2.setLayout(new GridLayout(2,0));
		jp2.add(li);
		jp2.add(bt);
		cp3=getContentPane();cp3.setLayout(new BorderLayout());
		cp3.add(jp1,"North");
		cp3.add(jp2,"South");
		t1.setEnabled(false);
		t2.setEnabled(false);
		t3.setEnabled(false);
		li.setVisibleRowCount(6);li.setFixedCellWidth(200);
		JScrollPane panel=new JScrollPane(li);		
		cp3.add(panel);		
		bt.addActionListener(new InputListener());		
		setSize(400,250);
	}
	class InputListener implements ActionListener {
		public void actionPerformed(ActionEvent e){
			
			if(e.getSource()==bt){
				String str="";
				numClicks++;
				str=JOptionPane.showInputDialog("input the name");				
				model.addElement(numClicks+str);
				
			     }
		       }
			}
	public static void main(String args[]){
		
		Bank bank=new Bank();
		Thread thread1,thread2,thread3;
		thread1=new Thread(bank,"FirstThread");
	    thread2=new Thread(bank,"SecondThread");
	    thread3=new Thread(bank,"ThirdThread");
	    thread1.start();  
        thread2.start();
        thread3.start();
		bank.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		bank.show();
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -