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

📄 pizzatobake.java

📁 JAVA编写的单击的PIZZA店销售系统
💻 JAVA
字号:
package GUI;

import java.util.Date;
import java.util.List;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.TableLayout;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.SWT;
import org.eclipse.jface.dialogs.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.TableItem;
import java.sql.*;

import PizzaProduct.*;
import org.eclipse.jface.viewers.TableLayout;
import Dbprocess.*;
import Staff.*;
import com.swtdesigner.SWTResourceManager;
public class PizzaToBake extends Composite {
	final Staffmanage sm;
	private Table table;
	final MyTableViewer myTableViewer;
	
	/**
	 * Create the composite
	 * @param parent
	 * @param style
	 */
	public PizzaToBake(final Composite parent, int style,Staffmanage asm) {
		
		super(parent, style);
		this.sm=asm;

		myTableViewer = new MyTableViewer(this, SWT.BORDER|SWT.FULL_SELECTION);
		myTableViewer.draw();
		
		
		final Button finishbutton = new Button(this, SWT.NONE);
		finishbutton.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				
				PizzaFactory pf2 = new PizzaFactory();
				TableItem[] ti = table.getSelection();
				if(ti.length==0){
					MessageDialog.openWarning(parent.getShell(), "警告","请选择一个PIZZA");
				}
				String[] pid = new String[ti.length];
			//	Pizza[] pizzas = new Pizza[ti.length];
				int i;
				for(i=0;i<ti.length;i++){
					pid[i]=ti[i].getText(5);
					
				//	pizzas[i]= new Pizza(ti[i].getText(0),ti[i].getText(1),ti[i].getText(2),ti[i].getText(3));
					/*pizzas[i].setName(ti[i].getText(0));
					pizzas[i].setType(ti[i].getText(1));
					pizzas[i].setSize(ti[i].getText(2));
					pizzas[i].setTopping(ti[i].getText(3));*/
				//	pizzas[i].setBegintime(Timestamp.valueOf(ti[i].getText(4)));
					pf2.finishPizza(pid[i]);
					if(pf2.isOrderfinish()){					
						final ChooseAStaff cas = new ChooseAStaff(parent.getShell(),SWT.NONE,sm);
						try{
						DBmanager dbm = new DBmanager();
						Connection con = dbm.getCon();
						
						//Statement statement = con.createStatement();
						String sql = "SELECT saleid FROM pizzasaled WHERE pizzaid like ?";
						PreparedStatement pstate = con.prepareStatement(sql);
						pstate.setString(1,pid[i]);
						ResultSet resultSet = pstate.executeQuery();
						
						resultSet.next();
						cas.setSaleid(resultSet.getString("saleid"));
						cas.open();
						dbm.close();
						}
						catch (Exception e2) {
					         e2.printStackTrace();
						}
						
					}
				}			
				myTableViewer.draw();
			}
		});
		finishbutton.setText("完成");
		finishbutton.setBounds(491, 395, 48, 22);

		final Button button = new Button(this, SWT.NONE);
		button.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				myTableViewer.draw();
				//table.redraw();
			}
		});
		button.setText("刷新");
		button.setBounds(432, 395, 48, 22);

		
		

		final Display display = Display.getCurrent();   
		new Thread(new Runnable() {      
			public void run() {        
				while (true) {          
					try {            
						Thread.sleep(1000);          
						} catch (InterruptedException e) {}          
						display.asyncExec(new Runnable() {
							public void run() {
								if(table.getSelectionCount()==0){
								int i;
					    		Date date= new Date(); 		
								Timestamp now = new Timestamp(date.getTime());  			
					    		for(i=0;i<table.getItemCount();i++){
					    			Timestamp ts = Timestamp.valueOf(table.getItem(i).getText(4));
					    			if((int)((now.getTime()-ts.getTime())/1000/60)>15){
					    				table.getItem(i).setForeground(SWTResourceManager.getColor(128, 0, 0));
					    				myTableViewer.draw();
					    			}
					    		}
									
									}
								}          
							});       
						}      
				}    
			}).start();
			
		/*
		Display display = Display.getCurrent(); 
        Runnable timer = new 
        	Runnable(){ 
        	public void run(){ 
        		
        		int i;
        		Date date= new Date(); 		
    			Timestamp now = new Timestamp(date.getTime());  			
        		for(i=0;i<table.getItemCount();i++){
        			Timestamp ts = Timestamp.valueOf(table.getItem(i).getText(4));
        			//ts.setTime(ts.getTime()+15*60*1000);
        			//(now.getMonth()==ts.getMonth())&&(now.getYear()==ts.getYear())&&(now.getDay()==ts.getDate())&&((now.getHours()-ts.getHours())<1) && ((now.getMinutes()-ts.getMinutes())<15)
        			if((int)((now.getTime()-ts.getTime())/1000/60)<15){
        				table.getItem(i).setForeground(SWTResourceManager.getColor(0, 128, 0));
        			}
        			else{
        				table.getItem(i).setForeground(SWTResourceManager.getColor(128, 0, 0));
        			}
        		}
        		myTableViewer.draw();
        		
        	}     
        	
        };
        display.timerExec(1000,timer);*/
		//
	}
	
	public class MyTableViewer extends TableViewer{
		public MyTableViewer(Composite com,int style){
			super(com,style);
			
			table = this.getTable();
			table.setRedraw(true);
			table.setBounds(10, 10, 530, 365);
			table.setHeaderVisible(true); //表头显示
			table.setLinesVisible(true); //表格线显示
			table.setForeground(SWTResourceManager.getColor(0, 128, 0));
			TableLayout tLayout = new TableLayout();
			table.setLayout(tLayout);
			final TableColumn newColumnTableColumn = new TableColumn(table, SWT.NONE);
			newColumnTableColumn.setWidth(100);
			newColumnTableColumn.setText("Name");

			final TableColumn newColumnTableColumn_1 = new TableColumn(table, SWT.NONE);
			newColumnTableColumn_1.setWidth(100);
			newColumnTableColumn_1.setText("Type");

			final TableColumn newColumnTableColumn_2 = new TableColumn(table, SWT.NONE);
			newColumnTableColumn_2.setWidth(67);
			newColumnTableColumn_2.setText("Size");
		
			final TableColumn newColumnTableColumn_3 = new TableColumn(table, SWT.NONE);
			newColumnTableColumn_3.setWidth(100);
			newColumnTableColumn_3.setText("Topping");
		
			final TableColumn newColumnTableColumn_4 = new TableColumn(table, SWT.NONE);
			newColumnTableColumn_4.setWidth(159);
			newColumnTableColumn_4.setText("Beginning  Time");
		
			final TableColumn newColumnTableColumn_5 = new TableColumn(table, SWT.NONE);
			newColumnTableColumn_5.setWidth(0);
			newColumnTableColumn_5.setResizable(false);
			newColumnTableColumn_5.setText("pizzaid");
			
			this.setContentProvider(new MyContentProvider()); //内容器
			this.setLabelProvider(new MyLabelProvider()); //标签器
		}
		
		public void draw(){		
			PizzaFactory pf = new PizzaFactory();			
			this.setInput(pf.getUndoPizzas());	
			
			
		
			
		}
}
	 /**
     * 内容器(写成了一个内部类). 在这里对所有记录集中的记录进行处理
     */

	private static final class MyContentProvider implements IStructuredContentProvider {
	        public Object[] getElements(Object element) {
	            if (element instanceof List)
	                return ((List) element).toArray();//将List转化为数组
	            else
	                return new Object[0];//否则,返回一个空数组
	        }

	        public void dispose() {}
	        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
	    }

	  /**
	   * 标签器(写成了一个内部类).在这里对单条记录进行处理
	     */
	private static final class MyLabelProvider implements ITableLabelProvider {
	        /**
	         * 这个方法返回的是各列的记录的文字
	         * 参数1:输入的对象
	         * 参数2:列号
	         * 返回值:注意一定要避免Null值,否则出错
	         */
	        public String getColumnText(Object element, int col) {
	            Pizza p = (Pizza) element; //转换一下类型
	            if (col == 0)
	                return p.getName();
	            if (col == 1)
	                return p.getType();
	            if (col == 2)
	                return p.getSize();
	            if (col == 3)
	                return p.getTopping();
	            if (col == 4)
	                return p.getBegintime().toString();
	            if (col == 5)
	                return p.getPizzaid();
	            return "";
	        }
	        /**
	         * 返回每条记录前面的图标
	         */
	        public Image getColumnImage(Object element, int columnIndex) {
	            return null;
	        }
	        //-------------以下方法用处不大,暂时不管它-----------------
	        public void addListener(ILabelProviderListener listener) {}
	        public void dispose() {}
	        public boolean isLabelProperty(Object element, String property) {
	            return false;
	        }
	        public void removeListener(ILabelProviderListener listener) {}
	    }


	public void dispose() {
		super.dispose();
	}

	protected void checkSubclass() {
		// Disable the check that prevents subclassing of SWT components
	}

}

⌨️ 快捷键说明

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