📄 orderitempanel.java
字号:
package com.tarena.abs.client;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.Calendar;
import com.tarena.abs.model.*;
/**
* 用来显示一个订单项的面板,若干个订单项面板对象添加到
* 一个OrderFrame中组成一个订单窗口。
* @author zhoukai
*
*/
public class OrderItemPanel extends JPanel implements ActionListener{
private TicketOrder item;//描述的订单项
private JLabel label1,label2,label3;
private JButton deleteButton;//删除该订单项的按钮
public OrderItemPanel(TicketOrder item){
this.item=item;
StringBuffer sb1=new StringBuffer();
Calendar cal = item.getFlight().getCalendar();
sb1.append(cal.get(Calendar.YEAR)+"年 ");
sb1.append(cal.get(Calendar.MONTH)+"月 ");
sb1.append(cal.get(Calendar.DAY_OF_MONTH)+"日");
sb1.append(item.getFlight().getSch().getFromTime().toString());
sb1.append(",从 "+item.getFlight().getSch().getFromAddress());
sb1.append(" 至 "+item.getFlight().getSch().getToAddress());
sb1.append("("+item.getFlight().getSch().getFlightNumber()+")");
StringBuffer sb2=new StringBuffer();
sb2.append(item.getF_class().toString()+" ");
sb2.append(item.getT_type().toString()+" ");
sb2.append("乘客姓名:"+item.getPassengerName()+" ");
sb2.append("证件号码:"+item.getPassengerId());
label1=new JLabel(sb1.toString());
label2=new JLabel(sb2.toString());
label3=new JLabel("票价:"+item.getPrice());
label3.setForeground(Color.RED);
deleteButton=new JButton("删除");
deleteButton.addActionListener(this);
init();
}
public void init(){
GridBagLayout gbl=new GridBagLayout();
GridBagConstraints constraints=new GridBagConstraints();
this.setLayout(gbl);
buildConstraints(constraints,0,0,1,1,80,100);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.WEST;
gbl.setConstraints(label1,constraints);
this.add(label1);
buildConstraints(constraints,1,0,1,1,20,100);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.WEST;
gbl.setConstraints(label3,constraints);
this.add(label3);
buildConstraints(constraints,0,1,1,1,0,100);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.WEST;
gbl.setConstraints(label2,constraints);
this.add(label2);
buildConstraints(constraints,1,1,1,1,0,100);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.EAST;
gbl.setConstraints(deleteButton,constraints);
this.add(deleteButton);
}
public void actionPerformed(ActionEvent e) {
ClientMainClass.currentOrderFrame.removeOrderItem(this);
}
/**
* 该方法为GridBagLayout布局管理器提供每个组件的布局参数。
*/
private void buildConstraints(GridBagConstraints cons,int gridx,int gridy,
int gridwidth,int gridheight,int weightx,int weighty){
cons.gridx=gridx;
cons.gridy=gridy;
cons.gridwidth=gridwidth;
cons.gridheight=gridheight;
cons.weightx=weightx;
cons.weighty=weighty;
}
public TicketOrder getItem(){
return item;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -