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

📄 storageupdate.java

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

import org.eclipse.swt.widgets.Composite;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Table;
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.Viewer;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.jface.dialogs.*;
import org.eclipse.swt.widgets.FileDialog;
import Dbprocess.*;
import Storage.*;
import org.eclipse.swt.widgets.TabFolder;
import org.eclipse.swt.widgets.TabItem;
import java.io.*;
import java.util.*;

public class StorageUpdate extends Composite {
	private Table table;
	final MyTableViewer myTableViewer;
	final MyTableViewer warnning;
	/**
	 * Create the composite
	 * @param parent
	 * @param style
	 */
	public StorageUpdate(final Composite parent, int style) {
		super(parent, style);
		
		
		

		final TabFolder tabFolder = new TabFolder(this, SWT.NONE);
		tabFolder.setBounds(0, 0, 580, 501);

		final TabItem tabItem = new TabItem(tabFolder, SWT.NONE);
		tabItem.setText("查看系统警报");

		final Composite systemWarningCom = new Composite(tabFolder, SWT.NONE);
		tabItem.setControl(systemWarningCom);

		final Label label = new Label(systemWarningCom, SWT.NONE);
		label.setText("以下商品库存已不足");
		label.setBounds(10, 10, 143, 26);

		warnning = new MyTableViewer(systemWarningCom, SWT.BORDER|SWT.FULL_SELECTION);
		warnning.draw(new StorageManager().getStorageWarnning());
		final Button button2 = new Button(systemWarningCom, SWT.NONE);
		button2.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				warnning.draw(new StorageManager().getStorageWarnning());
			}
		});
		button2.setText("刷新");
		button2.setBounds(492, 30, 48, 22);
		
		final TabItem tabItem_1 = new TabItem(tabFolder, SWT.NONE);
		tabItem_1.setText("库存报告");

		final Composite storageReportCom = new Composite(tabFolder, SWT.NONE);
		tabItem_1.setControl(storageReportCom);

		final TabItem tabItem_2 = new TabItem(tabFolder, SWT.NONE);
		tabItem_2.setText("添加库存");

		final Composite storageUpdateCom = new Composite(tabFolder, SWT.NONE);
		tabItem_2.setControl(storageUpdateCom);

		final Button button_1 = new Button(storageUpdateCom, SWT.NONE);
		button_1.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				FileDialog dlg = new FileDialog(parent.getShell(),SWT.OPEN);				
				dlg.setFilterNames(new String[]{"文本文件(*.txt)"});
				dlg.setFilterExtensions(new String[]{"*.txt","*.*"});
				String filename = dlg.open();
				DBmanager dbm = new DBmanager();
				int total=0;
				 try {
	                  //  FileReader reader = ;
	                    BufferedReader bf = new BufferedReader(new FileReader(filename));
	                    String temp="";
	                    while((temp=bf.readLine())!=null){
	                    	StorageItem si = new StorageItem();
	                    	StringTokenizer st = new StringTokenizer(temp,",",false);
	                    	if(st.countTokens()==4){
	                           si.setName(st.nextToken());
	                           
	                           String s = st.nextToken();
	                           if(s.equals("1"))
	                        	   si.setType("Thick Pan");
	                           else if(s.equals("2"))
	                        	   si.setType("Thin Pan");
	                           
	                           si.setSize(st.nextToken()+"'");
	                           si.setQuantity(Integer.valueOf(st.nextToken()).intValue());
	                           dbm.updateDB(si);
	                           total++;
	                    	}
	     
	                    }
	                    String str = "一共更新了" + total + "条记录";
	                    MessageDialog.openInformation(parent.getShell(),"更新完成",str);
	                    dbm.close();
	                } catch (FileNotFoundException e2) {	                  
	                    e2.printStackTrace();
	                } catch (IOException e3) {	
	                    e3.printStackTrace();
	                }

			}
		});
		button_1.setText("选择添加PIZZA信息文件");
		button_1.setBounds(24, 43, 141, 22);
		
		myTableViewer = new MyTableViewer(storageReportCom, SWT.BORDER|SWT.FULL_SELECTION);

		final Button button = new Button(storageReportCom, SWT.NONE);
		button.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				myTableViewer.draw(new StorageManager().getStorageRecord());
			}
		});
		button.setText("刷新");
		button.setBounds(492, 30, 48, 22);

		final Label label_1 = new Label(storageReportCom, SWT.NONE);
		label_1.setText("现有库存量");
		label_1.setBounds(10, 10, 69, 12);
		myTableViewer.draw(new StorageManager().getStorageRecord());
		//
	}
	public class MyTableViewer extends TableViewer{
		public MyTableViewer(Composite com,int style){
			super(com,style);
			
			table = this.getTable();
			table.setBounds(10, 46, 405, 326);		
			table.setRedraw(true);
			table.setHeaderVisible(true); //表头显示
			table.setLinesVisible(true); //表格线显示

			TableLayout tLayout = new TableLayout();
			table.setLayout(tLayout);
			final TableColumn newColumnTableColumn = new TableColumn(table, SWT.NONE);
			newColumnTableColumn.setWidth(100);
			newColumnTableColumn.setText("名称");

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

			final TableColumn newColumnTableColumn_2 = new TableColumn(table, SWT.NONE);
			newColumnTableColumn_2.setWidth(100);
			newColumnTableColumn_2.setText("大小");
			
			final TableColumn newColumnTableColumn_3 = new TableColumn(table, SWT.NONE);
			newColumnTableColumn_3.setWidth(100);
			newColumnTableColumn_3.setText("数量");
	
			this.setContentProvider(new MyContentProvider()); //内容器
			this.setLabelProvider(new MyLabelProvider()); //标签器
		}
		
		public void draw(List lis){	
			
			
			this.setInput(lis);	
			
		}
}
	
	 /**
     * 内容器(写成了一个内部类). 在这里对所有记录集中的记录进行处理
     */

	
	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) {
	            StorageItem s = (StorageItem) element; //转换一下类型
	            if (col == 0)
	                return s.getName();
	            if (col == 1)
	                return s.getType();
	            if (col == 2)
	                return s.getSize();
	            if (col == 3)
	                return Integer.toString(s.getQuantity());

	            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 + -