UAP实现拉单代码
完整代碼類:https://download.csdn.net/download/d_c_hao/10987635
public class SgPsnAppUI extends UIDialog implements ActionListener{
?? ?/**
?? ? * 構造方法
?? ? */
?? ?public SgPsnAppUI(){
?? ??? ?init();//頁面加載
?? ??? ?loadData();//數據加載
?? ?}
?? ?private BillCardPanel billCardPanel=null;//載體
?? ?private UIButton btnOK=null;//確認按鈕
?? ?private UIButton btnCanlel=null;//取消按鈕
?? ?private JPanel btnPanel;
?? ?private BillData billdata=null;
?? ?private BillItem [] bodyitem;// 列 字段
?? ?
?? ?private String pk_bill;
?? ?
?? ?String [] itemName={
?? ??? ??? ?"主鍵",
?? ??? ??? ?"單據編碼",
?? ??? ??? ?"人員編碼",
?? ??? ??? ?"姓名",
?? ??? ??? ?"性別",
?? ??? ??? ?"身份證",
?? ??? ??? ?"單據狀態"};
?? ?String [] itemkey={
?? ??? ??? ?"pk_psnapp",
?? ??? ??? ?"billno",
?? ??? ??? ?"psncode",
?? ??? ??? ?"psnname",
?? ??? ??? ?"sex",
?? ??? ??? ?"psnid",
?? ??? ??? ?"approvestatus"};
?? ?/**
?? ? * 窗體加載
?? ? */
?? ?private void init(){
?? ??? ?this.setTitle("人員申請單據");
?? ??? ?this.setName("SgPsnRef");
?? ??? ?this.setSize(930, 300);//寬*高
?? ??? ?this.setDefaultCloseOperation(2);//默認關閉后釋放資源
?? ??? ?this.setResizable(true);//允許自由改變窗體大小
?? ??? ?this.setLocation(200, 200);//設置顯示位置
?? ??? ?this.add(getBillCardPanel(), BorderLayout.CENTER);
?? ??? ?this.add(getBtnPanel(), BorderLayout.PAGE_END);//頁面的最后last
?? ??? ?//this.add(getBtnCanlel(), "last");
?? ?}
?? ?
?? ?/**
?? ? *按鈕監聽
?? ? */
?? ?@Override
?? ?public void actionPerformed(ActionEvent e) {
?? ??? ?// TODO 自動生成的方法存根
?? ??? ?if(e.getSource()==getBtnOK()){
?? ??? ??? ?int row=getBillCardPanel().getBillTable().getSelectedRow();//獲得選中的行號
?? ??? ??? ?Object pk_sel=getBillCardPanel().getBillModel().getValueAt(row, "pk_psnapp");//獲得主鍵
?? ??? ??? ?setPk_bill(pk_sel==null?"":pk_sel.toString());
?? ??? ??? ?this.close();
?? ??? ?}
?? ??? ?if(e.getSource()==getBtnCanlel()){
?? ??? ??? ?setPk_bill(null);
?? ??? ??? ?this.close();
?? ??? ?}
?? ?}
?? ?public BillCardPanel getBillCardPanel() {
?? ??? ?if(billCardPanel==null){
?? ??? ??? ?billCardPanel=new BillCardPanel();
?? ??? ??? ?billCardPanel.setBillData(getBilldata());
?? ??? ?}
?? ??? ?return billCardPanel;
?? ?}
?? ?
?? ?public UIButton getBtnOK() {
?? ??? ?if(btnOK==null){
?? ??? ??? ?btnOK=new UIButton();
?? ??? ??? ?btnOK.setName("btnOK");
?? ??? ??? ?btnOK.setText("確定");
?? ??? ??? ?btnOK.addActionListener(this);
?? ??? ?}
?? ??? ?return btnOK;
?? ?}
?? ?
?? ?public UIButton getBtnCanlel() {
?? ??? ?if(btnCanlel==null){
?? ??? ??? ?btnCanlel=new UIButton();
?? ??? ??? ?btnCanlel.setName("btnCanlel");
?? ??? ??? ?btnCanlel.setText("取消");
?? ??? ??? ?btnCanlel.addActionListener(this);
?? ??? ?}
?? ??? ?return btnCanlel;
?? ?}
?? ?public JPanel getBtnPanel() {
?? ??? ?if(btnPanel==null){
?? ??? ??? ?btnPanel=new JPanel();
?? ??? ??? ?btnPanel.add(getBtnOK());
?? ??? ??? ?btnPanel.add(getBtnCanlel());
?? ??? ?}
?? ??? ?return btnPanel;
?? ?}
?? ?
?? ?public BillItem [] getBodyitem() {
?? ??? ?if(bodyitem==null){
?? ??? ??? ?bodyitem=new BillItem[itemkey.length];
?? ??? ??? ?for (int i = 0; i < bodyitem.length; i++) {
?? ??? ??? ??? ?bodyitem[i]=new BillItem();
?? ??? ??? ??? ?bodyitem[i].setName(itemName[i]);
?? ??? ??? ??? ?bodyitem[i].setKey(itemkey[i]);
?? ??? ??? ??? ?bodyitem[i].setPos(BillItem.BODY);// 表體
?? ??? ??? ??? ?bodyitem[i].setDataType(BillItem.STRING);//設置數據類型
?? ??? ??? ??? ?bodyitem[i].setTatol(false);// 是否合計
?? ??? ??? ??? ?bodyitem[i].setEdit(false);//是否允許編輯
?? ??? ??? ??? ?bodyitem[i].setShow(true);// 是否顯示
?? ??? ??? ??? ?bodyitem[i].setWidth(120);//寬度
?? ??? ??? ??? ?bodyitem[i].setNull(true);//是否允許為空
?? ??? ??? ?}
?? ??? ?}
?? ??? ?return bodyitem;
?? ?}
?? ?/**
?? ? * 表格載體
?? ? * @return
?? ? */
?? ?public BillData getBilldata() {
?? ??? ?if(billdata==null){
?? ??? ??? ?billdata=new BillData();
?? ??? ??? ?billdata.setBodyItems(getBodyitem());
?? ??? ?}
?? ??? ?return billdata;
?? ?}
?? ?/**
?? ? * 數據加載
?? ? */
?? ?private void loadData(){
?? ??? ?String hsql="select * from sg_psnapp";
?? ??? ?IUAPQueryBS query=(IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
?? ??? ?try {
?? ??? ??? ?List<PsnappVO> list =(List<PsnappVO>) query.executeQuery(hsql, new BeanListProcessor(PsnappVO.class));
?? ??? ??? ?for (int i = 0; i < list.size(); i++) {
?? ??? ??? ?//for (PsnappVO hvo:list) {
?? ??? ??? ??? ?getBillCardPanel().addLine();
?? ??? ??? ??? ?for (int j = 0; j < itemkey.length; j++) {
?? ??? ??? ??? ??? ?getBillCardPanel().getBillModel().setValueAt(list.get(i).getAttributeValue(itemkey[j]), i, itemkey[j]);
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ?} catch (BusinessException e) {
?? ??? ??? ?e.printStackTrace();
?? ??? ?}
?? ?}
?? ?/**
?? ? * 獲取單據主鍵
?? ? * @return
?? ? */
?? ?public String getPkBillValue(){
?? ??? ?this.show();//打開窗體
?? ??? ?//int row=getBillCardPanel().getBillTable().getSelectedRow();//獲得選中的行號
?? ??? ?//Object pk_bill=getBillCardPanel().getBillModel().getValueAt(row, "pk_psnapp");//獲得主鍵
?? ??? ?return pk_bill;
?? ?}
?? ?
?? ?
?? ?
?? ?public void setBtnCanlel(UIButton btnCanlel) {
?? ??? ?this.btnCanlel = btnCanlel;
?? ?}
?? ?public void setBillCardPanel(BillCardPanel billCardPanel) {
?? ??? ?this.billCardPanel = billCardPanel;
?? ?}
?? ?public void setBtnOK(UIButton btnOK) {
?? ??? ?this.btnOK = btnOK;
?? ?}
?? ?
?? ?public void setBtnPanel(JPanel btnPanel) {
?? ??? ?this.btnPanel = btnPanel;
?? ?}
?? ?
?? ?public void setBodyitem(BillItem [] bodyitem) {
?? ??? ?this.bodyitem = bodyitem;
?? ?}
?? ?
?? ?public void setBilldata(BillData billdata) {
?? ??? ?this.billdata = billdata;
?? ?}
?? ?public String getPk_bill() {
?? ??? ?this.show();
?? ??? ?return pk_bill;
?? ?}
?? ?public void setPk_bill(String pk_bill) {
?? ??? ?this.pk_bill = pk_bill;
?? ?}
}
總結
- 上一篇: 我的DUILIB常用库
- 下一篇: samsung学习笔记4