📄 pizzatobake.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 + -