package com.topsun.posclient.sales.ui.gold; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.swt.SWT; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.KeyListener; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; import com.topsun.posclient.common.AppConstants; import com.topsun.posclient.common.POSClientApp; import com.topsun.posclient.common.POSException; import com.topsun.posclient.common.ProjectUtil; import com.topsun.posclient.common.core.keyboard.SoftKeyUtil; import com.topsun.posclient.common.service.IBaseService; import com.topsun.posclient.common.service.impl.BaseServiceImpl; import com.topsun.posclient.datamodel.Item; import com.topsun.posclient.datamodel.OldGold; import com.topsun.posclient.datamodel.User; import com.topsun.posclient.datamodel.dto.OldGoldDTO; import com.topsun.posclient.sales.MessageResources; import com.topsun.posclient.sales.core.service.IOldGoldSaleService; import com.topsun.posclient.sales.core.service.IPartSaleService; import com.topsun.posclient.sales.core.service.impl.OldGoldSaleServiceImpl; import com.topsun.posclient.sales.core.service.impl.PartSaleServiceImpl; import com.topsun.posclient.sales.dialog.CutGoldDialog; /** * @author Dong * */ public class PartSalesFacade extends CommonFacade { public static void restSalesView() throws POSException{ TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView(); tableViewer.setInput(null); tableViewer.refresh(); IBaseService baseService = new BaseServiceImpl(); Text text = PartSalesManager.getInstance().getDocNum(); text.setText(baseService.createNo(AppConstants.DOC_TYPE_SALES)); Text memberName = PartSalesManager.getInstance().getMemberName(); Text cardNo = PartSalesManager.getInstance().getCardNo(); Text phone = PartSalesManager.getInstance().getPhone(); Text point = PartSalesManager.getInstance().getPoint(); List<Item> itemTempList = PartSalesManager.getInstance().getItemTempList(); memberName.setText(""); cardNo.setText(""); phone.setText(""); point.setText("0.00"); itemTempList.clear(); PartSalesManager.getInstance().getPartSales().setVip(false); PartSalesManager.getInstance().getPartSales().setVipUser(null); PartSalesManager.getInstance().getPartSales().setItemList(new ArrayList<Item>()); PartSalesFacade.caculatorPartSalesPrice(); } /** * 获取当前零售窗口选中的ITEM * @return */ public static Item getCurrentSelectionItem() { TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView(); ISelection iSelection = tableViewer.getSelection(); if (iSelection instanceof StructuredSelection) { StructuredSelection selection = (StructuredSelection) iSelection; Object obj = selection.getFirstElement(); if (obj instanceof Item) { Item item = (Item) obj; return item; } } return null; } public static List<Item> getCurrentItemList() { TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView(); return (List<Item>)tableViewer.getInput(); } /** * 计算总价 */ public static void caculatorPartSalesPrice() { Label salesPriceLable = PartSalesManager.getInstance().getSalesTotlePrice(); TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView(); TableItem[] items = tableViewer.getTable().getItems(); BigDecimal totle = new BigDecimal(0); for (TableItem tableItem : items) { String price = tableItem.getText(12); BigDecimal bigDecimal = ProjectUtil.formatString(price); totle = totle.add(bigDecimal); } salesPriceLable.setText(ProjectUtil.formatAmount(null, totle)); } /** * @param item * @return */ private static boolean isCut(Item item){ boolean isSu = isSuGold(item.getMatkl()); boolean flag = item.getItemType().equals(AppConstants.ITEM_TYPE_NORMAL); return isSu&&flag; } /** * 打开断头窗口 * * @param control */ public static void openCutGoldDialogListener(Control control, final String docNum) { if (control instanceof Button) { final Button button = (Button) control; button.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { Button saveButton = (Button)e.getSource(); TableViewer tableViewer = PartSalesManager.getInstance() .getSalesProductTableView(); ISelection iSelection = tableViewer.getSelection(); if (iSelection instanceof StructuredSelection) { StructuredSelection selection = (StructuredSelection) iSelection; Object obj = selection.getFirstElement(); if(null == obj){ MessageDialog.openInformation(saveButton.getShell(), MessageResources.message_ui_tips, "请选择"); return; } if (obj instanceof Item) { Item item = (Item) obj; if(!isCut(item)){ MessageDialog.openInformation(saveButton.getShell(), MessageResources.message_ui_tips, "只有素金才能断头"); return; } BigDecimal selfQ = item.getZDPYZL(); CutGoldDialog cutGoldDialog = new CutGoldDialog(button.getShell(), selfQ.toString()); cutGoldDialog.setDocNum(docNum); cutGoldDialog.open(); } } } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); } } /** * 删除金品ITEM * * @param control */ public static void delGoldSaleItemListener(Control control) { if (control instanceof Button) { Button button = (Button) control; button.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { TableViewer tableViewer = PartSalesManager.getInstance() .getSalesProductTableView(); ISelection iSelection = tableViewer.getSelection(); if (iSelection instanceof IStructuredSelection) { IStructuredSelection iStructuredSelection = (IStructuredSelection) iSelection; Object obj = iStructuredSelection.getFirstElement(); if (obj instanceof Item) { Item item = (Item) obj; Object itemList = tableViewer.getInput(); if (itemList == null) { return; } else { if (itemList instanceof List) { List list = (List) itemList; list.remove(item); List<Item> tempList = PartSalesManager.getInstance().getItemTempList(); Item removeItem = null; for (Item item2 : tempList) { if(item2.getItemCode().equals(item.getItemCode())){ removeItem = item2; } } tempList.remove(removeItem); tableViewer.setInput(list); } } tableViewer.refresh(); caculatorPartSalesPrice(); } } } @Override public void widgetDefaultSelected(SelectionEvent e) { // TODO Auto-generated method stub } }); } } /** * 计算服务费 * * @return */ public static String caculateSerivceFee() { TableViewer tableViewer = PartSalesManager.getInstance() .getSalesProductTableView(); Object obj = tableViewer.getInput(); if (obj == null) { return "0.00"; } else { if (obj instanceof List) { BigDecimal totalFee = new BigDecimal(0); List<Item> list = (List<Item>) obj; for (Item t_Item : list) { BigDecimal itemDecimal = t_Item.getZJGF(); if (itemDecimal == null) { continue; } totalFee = totalFee.add(itemDecimal); } return ProjectUtil.formatAmount(null, totalFee); } } return "0.00"; } /** * 添加计算服务费事件 * * @param control */ public static void addServiceFeeListener(Control control) { if (control instanceof Button) { Button button = (Button) control; button.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView(); List<Item> itemTempList = PartSalesManager.getInstance().getItemTempList(); List<Item> items = (List<Item>)tableViewer.getInput(); if(null == items){ items = new ArrayList<Item>(); } Item item = new Item(); item.setItemType(AppConstants.ITEM_TYPE_SERVICEFEE); item.setItemStatus(AppConstants.ITEM_STATU_SERVICE); item.setSalesAmount(new BigDecimal(0)); item.setFactAmount(new BigDecimal(0)); item.setZJGF(new BigDecimal(0)); item.setFactZJGF(new BigDecimal(0)); item.setPretlAmount(new BigDecimal(0)); item.setItemName("服务费"); item.setMatkl("2020101"); item.setMATNR("35903"); item.setItemCode("F201011"); // item.setCashier(POSClientApp.get().getLoginUser().getUserName()); item.setDISCOUNT1(new BigDecimal(0)); item.setDISCOUNT2(new BigDecimal(0)); item.setDocNum(PartSalesManager.getInstance().getDocNum().getText()); item.setHasGiveaway(0); item.setIsOldGold(0); item.setItemStatus(AppConstants.ITEM_STATU_SERVICE); item.setNum(1); item.setZZZZZ(new BigDecimal(0)); item.setZMDLSBQJ(new BigDecimal(0)); item.setZDPYZL(new BigDecimal(0)); item.setZYTM(""); item.setZSSMD(""); item.setZSSGS(""); item.setZSJCS(""); item.setZoneID(1); item.setZMDDXJSJ(new BigDecimal(0)); item.setZKJGFLS(new BigDecimal(0)); item.setZFZZZL(new BigDecimal(0)); item.setZDPZL(new BigDecimal(0)); item.setZJSHJFS("一口价"); items.add(item); itemTempList.add(item); tableViewer.setInput(items); caculatorPartSalesPrice(); tableViewer.refresh(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); } } /** * 添加旧金按钮点击事件 * @param control */ public static void addOldGoldOrderListenerForButton(Control control) { if (control instanceof Button) { Button button = (Button) control; button.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { Text oldDocNum = PartSalesManager.getInstance().getOldDocNum(); if(null == oldDocNum || null == oldDocNum.getText() || "".equals(oldDocNum.getText()) ){ MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, "请输入【旧金单据编号】"); oldDocNum.forceFocus(); return; } String inputOldDocNum = oldDocNum.getText(); TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView(); List<Item> items = (List<Item>)tableViewer.getInput(); if(null != items && items.size() > 0){ for(Item i : items){ if(i.getItemType().equals(AppConstants.ITEM_TYPE_SERVICEFEE)){ continue; } if(i.getIsOldGold() == 1 && null != i.getDocNum() && i.getDocNum().equals(inputOldDocNum)){ MessageDialog.openInformation(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, "单据编号为【"+inputOldDocNum+"】的旧金数据已添加"); oldDocNum.forceFocus(); oldDocNum.setText(""); return; } } } IOldGoldSaleService goldSaleService = new OldGoldSaleServiceImpl(); OldGoldDTO oldGoldDto = null; try { oldGoldDto = goldSaleService.downloadOldGoldData(inputOldDocNum);//下载旧金 } catch (POSException e2) { MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, e2.getErrorMessage()); oldDocNum.forceFocus(); oldDocNum.setText(""); return; } if(null == oldGoldDto || null == oldGoldDto.getOldGoldList() || oldGoldDto.getOldGoldList().size() == 0){ MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, "没有旧金数据"); oldDocNum.forceFocus(); oldDocNum.setText(""); return; } List<Item> itemTempList = PartSalesManager.getInstance().getItemTempList(); List<OldGold> oldGolds = oldGoldDto.getOldGoldList(); List<Item> oldItems = new ArrayList<Item>(); if(oldGolds != null && oldGolds.size() > 0){ Item item = null; for (OldGold oldGold : oldGolds) { item = new Item(); item.setDocNum(inputOldDocNum); item.setId(oldGold.getMainID()); item.setMatkl(oldGold.getMtartCode()); item.setItemCode(""); item.setItemName(oldGold.getName()); item.setItemType(AppConstants.ITEM_TYPE_OLDGOLD); item.setItemStatus(AppConstants.ITEM_STATU_NORMAL); item.setZDPYZL(oldGold.getWeight_G()); item.setZDPZL(oldGold.getWeight_F()); item.setPrice(oldGold.getPrice_G()); item.setZMDLSBQJ(oldGold.getSum()); item.setZJGF(oldGold.getService()); item.setFactZJGF(oldGold.getService()); item.setSalesAmount(oldGold.getSum()); item.setFactAmount(oldGold.getSum()); item.setZSJCS(oldGold.getNeatness().toString()); item.setIsOldGold(1); itemTempList.add(item); oldItems.add(item); } } // OldGold oldGold = oldGoldDto.getOldGoldList().get(0); Object obj = tableViewer.getInput(); if (obj == null) { // List<Item> list = new ArrayList<Item>(); // list.add(item); tableViewer.setInput(oldItems); } else { if (obj instanceof List) { List<Item> list = (List<Item>) obj; for(Item i : list){ i.setIsOldGold(1);//添加旧金之后设置所有单品的是否旧金贴换为1 } // Collections.addAll(list, oldItems); list.addAll(oldItems); tableViewer.setInput(list); } } caculatorPartSalesPrice(); tableViewer.refresh(); PartSalesManager.getInstance().getPartSales().setIsReplace(1);// PartSalesManager.getInstance().getOldDocNum().setText("");//清空旧金单号输入框 } public void widgetDefaultSelected(SelectionEvent e) { } }); } } /** * 添加旧金监听 * * @param control */ public static void addOldGoldOrderListener(Control control) { SoftKeyUtil.showSoftKey(control); control.addKeyListener(new KeyListener() { @Override public void keyReleased(KeyEvent e) { Text text = (Text) e.getSource(); if (e.keyCode == SWT.CR) { String inputString = ""; if (e.getSource() instanceof Text) { inputString = text.getText(); } if(null == inputString || "".equals(inputString)){ MessageDialog.openInformation(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, "【旧金单据号】不能为空"); text.forceFocus(); text.setText(""); return; } TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView(); List<Item> items = (List<Item>)tableViewer.getInput(); if(null != items && items.size() > 0){ for(Item i : items){ if(i.getItemType().equals(AppConstants.ITEM_TYPE_SERVICEFEE)){ continue; } if(i.getIsOldGold() == 1 && null != i.getDocNum() && i.getDocNum().equals(inputString)){ MessageDialog.openInformation(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, "单据编号为【"+inputString+"】的旧金数据已添加"); text.forceFocus(); text.setText(""); return; } } } Item item = null; IOldGoldSaleService goldSaleService = new OldGoldSaleServiceImpl(); OldGoldDTO oldGoldDto = null; try { oldGoldDto = goldSaleService.downloadOldGoldData(inputString);//下载旧金 } catch (POSException e2) { MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, e2.getErrorMessage()); text.forceFocus(); text.setText(""); return; } if(null == oldGoldDto || null == oldGoldDto.getOldGoldList() || oldGoldDto.getOldGoldList().size() == 0){ MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, "没有旧金数据"); text.forceFocus(); text.setText(""); return; } List<Item> itemTempList = PartSalesManager.getInstance().getItemTempList(); List<OldGold> oldGolds = oldGoldDto.getOldGoldList(); List<Item> oldItems = new ArrayList<Item>(); if(oldGolds != null && oldGolds.size() > 0){ for (OldGold oldGold : oldGolds) { item = new Item(); item.setDocNum(inputString); item.setId(oldGold.getMainID()); item.setMatkl(oldGold.getMtartCode()); item.setItemCode(oldGold.getItemCode()); item.setItemName(oldGold.getName()); item.setItemType(AppConstants.ITEM_TYPE_OLDGOLD); item.setItemStatus(AppConstants.ITEM_STATU_NORMAL); item.setZDPYZL(oldGold.getWeight_G()); item.setZDPZL(oldGold.getWeight_F()); item.setPrice(oldGold.getPrice_G()); item.setZMDLSBQJ(oldGold.getSum()); item.setZJGF(oldGold.getService()); item.setFactZJGF(oldGold.getService()); item.setSalesAmount(oldGold.getSum()); item.setFactAmount(oldGold.getSum()); item.setZSJCS(oldGold.getNeatness().toString()); item.setIsOldGold(1); itemTempList.add(item); oldItems.add(item); } } Object obj = tableViewer.getInput(); if (obj == null) { tableViewer.setInput(oldItems); } else { if (obj instanceof List) { List<Item> list = (List<Item>) obj; for(Item i : list){ i.setIsOldGold(1);//添加旧金之后设置所有单品的是否旧金贴换为1 } list.addAll(oldItems); tableViewer.setInput(list); } } caculatorPartSalesPrice(); tableViewer.refresh(); PartSalesManager.getInstance().getOldDocNum().forceFocus(); PartSalesManager.getInstance().getOldDocNum().setText("");//清空旧金单号输入框 } } public void keyPressed(KeyEvent e) { } }); } /** * 添加零售信息 * * @param control * @param tableViewer */ public static void addSalesItemListener(Control control) { control.addKeyListener(new KeyListener() { public void keyReleased(KeyEvent e) { if (e.keyCode == SWT.CR) { Item item = null; TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView(); String inputString = ""; Text text = null; if (e.getSource() instanceof Text) { text = (Text) e.getSource(); inputString = text.getText(); } if(null == inputString || "".equals(inputString)){ MessageDialog.openError(tableViewer.getControl().getShell(), MessageResources.message_ui_tips, "【条形码】不能为空"); text.forceFocus(); return; } IPartSaleService partSaleService = new PartSaleServiceImpl(); try { item = partSaleService.getItemByBarCode(inputString); List<Item> tableObj = (List<Item>)tableViewer.getInput(); if(null != tableObj){ for (Item existObj : tableObj) { if(inputString.equals(existObj.getItemCode()) || inputString.equals(existObj.getZYTM())){ MessageDialog.openError(tableViewer.getControl().getShell(), MessageResources.message_ui_tips, "列表中已存在相同的单品信息"); text.setText("");//清空条形码输入框 return; } } } int userId = POSClientApp.get().getLoginUser().getId(); Map<Integer,User> map = POSClientApp.get().getUserRelation(); Iterator<Entry<Integer, User>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<Integer, User> value = (Map.Entry<Integer, User>) it.next(); if(value.getValue().getId() == userId){ item.setCashier(value.getValue().getId()); } } item.setCashierName(""); List<Item> exitsItems = (List<Item>)tableViewer.getInput(); boolean hasOldGold = false; if(exitsItems != null){ for(Item t_Item : exitsItems){ if(t_Item.getItemType().equals(AppConstants.ITEM_TYPE_OLDGOLD)){ hasOldGold = true ; break; } } } item.setFactZJGF(item.getZJGF());//实际工费默认等于原工费 //是素金并且标签价==0 if(isSuGold(item.getMatkl())){ if(item.getZMDLSBQJ().compareTo(new BigDecimal(0.00)) == 0 || null == item.getZMDLSBQJ()){ BigDecimal gPrice = partSaleService.getServerGoldPrice(item.getMatkl()); item.setPrice(gPrice); }else{ item.setPrice(item.getZMDLSBQJ().subtract(item.getZKJYF())); } BigDecimal salesAmount = item.getZDPZL().multiply(item.getPrice()).add(item.getZJGF()).subtract(item.getZKJYF()); salesAmount = salesAmount.setScale(2, BigDecimal.ROUND_HALF_UP); item.setSalesAmount(salesAmount); }else{ item.setPrice(item.getZMDLSBQJ().subtract(item.getZKJYF())); item.setSalesAmount(item.getZMDLSBQJ().subtract(item.getZKJYF())); } item.setFactAmount(item.getSalesAmount());//实售 item.setItemType(AppConstants.ITEM_TYPE_NORMAL); item.setPretlAmount(new BigDecimal(0.00)); item.setItemStatus(AppConstants.ITEM_STATU_NORMAL); } catch (POSException e1) { MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, e1.getErrorMessage()); text.setText("");//清空条形码输入框 return; } List<Item> itemTempList = PartSalesManager.getInstance().getItemTempList(); Item addTempItem = new Item(); addTempItem.setId(item.getId()); addTempItem.setItemName(item.getItemName()); addTempItem.setItemCode(item.getItemCode()); addTempItem.setSalesAmount(item.getSalesAmount()); addTempItem.setFactAmount(item.getFactAmount()); addTempItem.setZJGF(item.getZJGF()); addTempItem.setPretlAmount(item.getPretlAmount()); addTempItem.setIsOldGold(item.getIsOldGold()); addTempItem.setHasGiveaway(item.getHasGiveaway()); addTempItem.setCashier(item.getCashier()); addTempItem.setCashierName(item.getCashierName()); addTempItem.setDISCOUNT1(item.getDISCOUNT1()); addTempItem.setDISCOUNT2(item.getDISCOUNT2()); addTempItem.setDocNum(item.getDocNum()); addTempItem.setFactZJGF(item.getFactZJGF()); addTempItem.setInvoceCode(item.getInvoceCode()); addTempItem.setItemStatus(item.getItemStatus()); addTempItem.setItemType(item.getItemType()); addTempItem.setMatkl(item.getMatkl()); addTempItem.setMATNR(item.getMATNR()); addTempItem.setUnSalePart(item.getUnSalePart()); addTempItem.setZDPYZL(item.getZDPYZL()); addTempItem.setZDPZL(item.getZDPZL()); addTempItem.setZYTM(item.getZYTM()); addTempItem.setZKJYF(item.getZKJYF()); addTempItem.setZSSMD(item.getZSSMD()); addTempItem.setZSSGS(item.getZSSGS()); addTempItem.setZSJCS(item.getZSJCS()); addTempItem.setZMDLSBQJ(item.getZMDLSBQJ()); addTempItem.setZCSBJ(item.getZCSBJ()); addTempItem.setZKJGFLS(item.getZKJGFLS()); addTempItem.setZFZZZL(item.getZFZZZL()); addTempItem.setZMDDXJSJ(item.getZMDDXJSJ()); addTempItem.setZZZZZ(item.getZZZZZ()); addTempItem.setPrice(item.getPrice()); addTempItem.setZYTM(item.getZYTM()); addTempItem.setZSFTJ(item.getZSFTJ()); addTempItem.setZoneName(item.getZoneName()); itemTempList.add(addTempItem); Object obj = tableViewer.getInput(); if (obj == null) { List<Item> list = new ArrayList<Item>(); list.add(item); if(PartSalesManager.getInstance().getPartSales().isVip()){ if(!item.getZSFTJ().equals("X")){ IPartSaleService partSalesService = new PartSaleServiceImpl(); try { list = partSalesService.applyVipSales(list, PartSalesManager.getInstance().getPartSales().getVipUser().getCardTypeNM()); } catch (POSException e1) { MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, e1.getErrorMessage()); text.forceFocus(); text.setText(""); return; } } } tableViewer.setInput(list); } else { if (obj instanceof List) { List<Item> list = (List<Item>) obj; List<Item> addList = new ArrayList<Item>(); addList.add(item); if(PartSalesManager.getInstance().getPartSales().isVip()){ if(!item.getZSFTJ().equals("X")){ IPartSaleService partSalesService = new PartSaleServiceImpl(); try { addList = partSalesService.applyVipSales(addList, PartSalesManager.getInstance().getPartSales().getVipUser().getCardTypeNM()); } catch (POSException e1) { MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, e1.getErrorMessage()); text.forceFocus(); text.setText(""); return; } } } list.addAll(addList); tableViewer.setInput(list); } } caculatorPartSalesPrice(); tableViewer.refresh(); text.setText("");//清空条形码输入框 } } @Override public void keyPressed(KeyEvent e) { } }); } }