Java tutorial
package com.casmall.dts.ui.weigh; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.resource.FontRegistry; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.ColumnViewerEditor; import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent; import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy; import org.eclipse.jface.viewers.ICellModifier; import org.eclipse.jface.viewers.IStructuredContentProvider; import org.eclipse.jface.viewers.ITableColorProvider; import org.eclipse.jface.viewers.ITableFontProvider; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.TextCellEditor; import org.eclipse.jface.viewers.Viewer; import org.eclipse.nebula.jface.gridviewer.GridTableViewer; import org.eclipse.nebula.jface.gridviewer.GridViewerEditor; import org.eclipse.nebula.widgets.formattedtext.DateFormatter; import org.eclipse.nebula.widgets.formattedtext.FormattedText; import org.eclipse.nebula.widgets.grid.Grid; import org.eclipse.nebula.widgets.grid.GridColumn; import org.eclipse.nebula.widgets.grid.GridColumnGroup; import org.eclipse.nebula.widgets.radiogroup.RadioGroup; import org.eclipse.nebula.widgets.radiogroup.RadioItem; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; import org.eclipse.swt.events.ControlAdapter; import org.eclipse.swt.events.ControlEvent; import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.IViewReference; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.PlatformUI; import com.casmall.common.StringUtil; import com.casmall.dts.biz.domain.TsWgtInfDTO; import com.casmall.dts.biz.mgr.TsMstManager; import com.casmall.dts.biz.mgr.TsWgtInfManager; import com.casmall.dts.common.ColorRepository; import com.casmall.dts.common.DTSConstants; import com.casmall.dts.common.ExportVO; import com.casmall.dts.common.ImageRepository; import com.casmall.dts.common.ObjectUtil; import com.casmall.dts.common.RvExcelWriter; import com.casmall.dts.ui.HomeView; import com.casmall.dts.ui.view.WeighListView; import com.casmall.dts.ui.weigh.compsite.CarComposite; import com.casmall.dts.ui.weigh.compsite.CstComposite; import com.casmall.dts.ui.weigh.compsite.PrdtComposite; import com.casmall.dts.ui.weigh.dialog.WeighSecondDialog; import com.cloudgarden.resource.SWTResourceManager; /** * This code was edited or generated using CloudGarden's Jigloo SWT/Swing GUI * Builder, which is free for non-commercial use. If Jigloo is being used * commercially (ie, by a corporation, company or business for any purpose * whatever) then you should purchase a license for each developer using Jigloo. * Please visit www.cloudgarden.com for details. Use of Jigloo implies * acceptance of these licensing terms. A COMMERCIAL LICENSE HAS NOT BEEN * PURCHASED FOR THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED LEGALLY FOR * ANY CORPORATE OR COMMERCIAL PURPOSE. */ public class WeighListComposite extends Composite { protected static Log log = LogFactory.getLog(WeighListComposite.class); private Button btnSelect; private Composite ctTop; private Composite ctSelect; private GridTableViewer gridViewer; private String[] colProp = { "no", "car_num", "fst_wgt_dt", "fst_wgt_dt", "fst_wgh", "scnd_wgt_dt", "scnd_wgh", "dscnt", "rl_wgh", "cst_nm", "prdt_nm", "io_flg_nm" }; private String[] colName = { "No", "", "", "", " ", "", " ", "", " ", "", "", "" }; private String[] colFormat = { "", "", "yyyy-MM-dd", "HH:mm", "", "HH:mm", "", "", "", "", "", "" }; // , , /** : */ private int[] colWidth = { 5, 14, 11, 8, 7, 8, 7, 7, 7, 12, 8, 6 }; private int[] colAlign = { SWT.CENTER, SWT.CENTER, SWT.CENTER, SWT.CENTER, SWT.RIGHT, SWT.CENTER, SWT.RIGHT, SWT.RIGHT, SWT.RIGHT, SWT.LEFT, SWT.LEFT, SWT.CENTER }; private ArrayList<TsWgtInfDTO> listData; private Font titleFont = com.swtdesigner.SWTResourceManager.getFont("Arial", 18, SWT.NORMAL); private Font defaultFont = com.swtdesigner.SWTResourceManager.getFont("Arial", 13, SWT.NORMAL); TsWgtInfManager mgr = new TsWgtInfManager(); private Text txtFrom; private Text txtTo; private CarComposite car; private CstComposite cst; private PrdtComposite prdt; private RadioItem rdoToday; private RadioItem rdoThisWeek; private RadioItem rdoThisMonth; private RadioGroup rgTerm; private RadioItem[] rdoFlag = new RadioItem[3]; private RadioGroup rgWgtFlag; { // Register as a resource user - SWTResourceManager will // handle the obtaining and disposing of resources SWTResourceManager.registerResourceUser(this); } /** * Auto-generated main method to display this * org.eclipse.swt.widgets.Composite inside a new Shell. */ public static void main(String[] args) { showGUI(); } /** * Auto-generated method to display this org.eclipse.swt.widgets.Composite * inside a new Shell. */ public static void showGUI() { Display display = Display.getDefault(); Shell shell = new Shell(display); WeighListComposite inst = new WeighListComposite(shell, SWT.NULL); Point size = inst.getSize(); shell.setLayout(new FillLayout()); shell.layout(); if (size.x == 0 && size.y == 0) { inst.pack(); shell.pack(); } else { Rectangle shellBounds = shell.computeTrim(0, 0, size.x, size.y); shell.setSize(shellBounds.width, shellBounds.height); } shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } } public WeighListComposite(org.eclipse.swt.widgets.Composite parent, int style) { super(parent, style); setBackground(ColorRepository.getColor(ColorRepository.BG_CONTENTS)); initGUI(); init(); } private void initGUI() { try { GridLayout thisLayout = new GridLayout(); thisLayout.makeColumnsEqualWidth = true; this.setLayout(thisLayout); this.setSize(1010, 418); { final CLabel lblTitle = new CLabel(this, SWT.NONE); lblTitle.setText(" "); lblTitle.setImage(ImageRepository.getImage(ImageRepository.ICO_SELECT)); lblTitle.setFont(titleFont); lblTitle.setForeground(ColorRepository.getColor(ColorRepository.TEXT_TITLE)); lblTitle.setBackground(ColorRepository.getColor(ColorRepository.BG_CONTENTS)); GridData lblTitleLData = new GridData(SWT.FILL, SWT.BOTTOM, false, false); lblTitleLData.verticalIndent = 3; lblTitleLData.horizontalIndent = 10; lblTitle.setLayoutData(lblTitleLData); } { ctSelect = new Composite(this, SWT.NONE); ctSelect.setBackgroundMode(SWT.INHERIT_FORCE); GridLayout ctSelectLayout = new GridLayout(); ctSelectLayout.marginLeft = -9; ctSelectLayout.marginRight = -9; ctSelectLayout.marginWidth = 0; ctSelectLayout.verticalSpacing = 0; ctSelectLayout.numColumns = 3; ctSelectLayout.marginHeight = 0; ctSelectLayout.horizontalSpacing = 0; GridData ctSelectLData = new GridData(SWT.FILL, SWT.FILL, true, false); ctSelectLData.heightHint = 75; ctSelect.setLayoutData(ctSelectLData); ctSelect.setLayout(ctSelectLayout); final Composite ctSelectLeft = new Composite(ctSelect, SWT.NONE); ctSelectLeft.setBackgroundImage(ImageRepository.getImage(ImageRepository.BG_SELECT_LEFT)); ctSelectLeft.setLayout(new GridLayout()); GridData ctSelectLeftLData = new GridData(SWT.LEFT, SWT.FILL, false, true); ctSelectLeftLData.widthHint = 19; ctSelectLeft.setLayoutData(ctSelectLeftLData); ctTop = new Composite(ctSelect, SWT.NONE); ctTop.setBackgroundImage(ImageRepository.getImage(ImageRepository.BG_SELECT)); GridLayout ctTopLayout = new GridLayout(); ctTopLayout.numColumns = 2; GridData ctTopLData = new GridData(); ctTopLData.grabExcessHorizontalSpace = true; ctTopLData.horizontalAlignment = GridData.FILL; ctTopLData.grabExcessVerticalSpace = true; ctTopLData.verticalAlignment = GridData.FILL; ctTop.setLayoutData(ctTopLData); ctTop.setLayout(ctTopLayout); { Composite cSearch = new Composite(ctTop, SWT.NONE); cSearch.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true, 1, 1)); GridLayout gl_cSearch = new GridLayout(3, false); gl_cSearch.marginHeight = 0; cSearch.setLayout(gl_cSearch); Composite cSearchTerm = new Composite(cSearch, SWT.NONE); cSearchTerm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1)); GridLayout gl_cSearchTerm = new GridLayout(7, false); gl_cSearchTerm.verticalSpacing = 0; gl_cSearchTerm.marginHeight = 0; cSearchTerm.setLayout(gl_cSearchTerm); { CLabel lblTag = new CLabel(cSearchTerm, SWT.NONE); lblTag.setFont(defaultFont); lblTag.setText(": "); lblTag.setImage(ImageRepository.getImage(ImageRepository.DOT_SELECT)); FormattedText fmtFrom = new FormattedText(cSearchTerm, SWT.BORDER); fmtFrom.setFormatter(new DateFormatter("yyyy-MM-dd")); txtFrom = fmtFrom.getControl(); txtFrom.setFont(defaultFont); GridData gd_txtFrom = new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1); gd_txtFrom.widthHint = 110; txtFrom.setLayoutData(gd_txtFrom); Label label = new Label(cSearchTerm, SWT.NONE); label.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); label.setText("~"); label.setFont(defaultFont); FormattedText fmtTo = new FormattedText(cSearchTerm, SWT.BORDER); fmtTo.setFormatter(new DateFormatter("yyyy-MM-dd")); txtTo = fmtTo.getControl(); txtTo.setFont(defaultFont); GridData gd_txtTo = new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1); gd_txtTo.widthHint = 110; txtTo.setLayoutData(gd_txtTo); } rgTerm = new RadioGroup(cSearchTerm, SWT.NONE); rgTerm.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { try { setTerm((Integer) rgTerm.getSelection().getData()); } catch (Exception e2) { } } }); rgTerm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); rdoToday = new RadioItem(rgTerm, SWT.NONE); rdoToday.setFont(defaultFont); rdoToday.setData(0); rdoToday.setText(""); rdoThisWeek = new RadioItem(rgTerm, SWT.NONE); rdoThisWeek.setFont(defaultFont); rdoThisWeek.setData(1); rdoThisWeek.setText(""); rdoThisMonth = new RadioItem(rgTerm, SWT.NONE); rdoThisMonth.setFont(defaultFont); rdoThisMonth.setData(2); rdoThisMonth.setText(""); { CLabel lblTag = new CLabel(cSearchTerm, SWT.NONE); lblTag.setFont(defaultFont); lblTag.setText(": "); lblTag.setImage(ImageRepository.getImage(ImageRepository.DOT_SELECT)); rgWgtFlag = new RadioGroup(cSearchTerm, SWT.NONE); rgWgtFlag.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); rdoFlag[0] = new RadioItem(rgWgtFlag, SWT.NONE); rdoFlag[0].setFont(defaultFont); rdoFlag[0].setData(null); rdoFlag[0].setText(""); rdoFlag[1] = new RadioItem(rgWgtFlag, SWT.NONE); rdoFlag[1].setFont(defaultFont); rdoFlag[1].setData(DTSConstants.WGT_FLAG_GEN); rdoFlag[1].setText(""); rdoFlag[2] = new RadioItem(rgWgtFlag, SWT.NONE); rdoFlag[2].setFont(defaultFont); rdoFlag[2].setData(DTSConstants.WGT_FLAG_ONE); rdoFlag[2].setText("1"); } car = new CarComposite(cSearch, SWT.NONE); car.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); car.setFont(defaultFont); car.setImage(ImageRepository.getImage(ImageRepository.DOT_SELECT)); car.setTitle(":"); cst = new CstComposite(cSearch, SWT.NONE); cst.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); cst.setFont(defaultFont); cst.setImage(ImageRepository.getImage(ImageRepository.DOT_SELECT)); cst.setTitle(":"); prdt = new PrdtComposite(cSearch, SWT.NONE); prdt.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); prdt.setFont(defaultFont); prdt.setImage(ImageRepository.getImage(ImageRepository.DOT_SELECT)); prdt.setTitle(":"); } { Composite cBtn = new Composite(ctTop, SWT.NONE); cBtn.setLayoutData(new GridData(SWT.RIGHT, SWT.BOTTOM, false, true, 1, 1)); cBtn.setLayout(new FillLayout(SWT.HORIZONTAL)); { btnSelect = new Button(cBtn, SWT.PUSH | SWT.CENTER); btnSelect.setImage(ImageRepository.getImage(ImageRepository.BTN_SELECT)); btnSelect.setFont(defaultFont); btnSelect.setText(""); Button btnExport = new Button(cBtn, SWT.PUSH | SWT.CENTER); btnExport.setImage(ImageRepository.getImage(ImageRepository.BTN_EXPORT)); btnExport.setFont(defaultFont); btnExport.setText(""); Button btnClose = new Button(cBtn, SWT.PUSH | SWT.CENTER); btnClose.setImage(ImageRepository.getImage(ImageRepository.BTN_CLOSE)); btnClose.setFont(defaultFont); btnClose.setText(""); btnClose.addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent evt) { IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage(); IViewReference ref = page.findViewReference(WeighListView.ID); page.hideView(ref); } }); btnExport.addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent evt) { btnExportMouseDown(evt); } }); } btnSelect.addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent evt) { btnSelectMouseDown(evt); } }); } final Composite ctSelectRight = new Composite(ctSelect, SWT.NONE); ctSelectRight.setBackgroundImage(ImageRepository.getImage(ImageRepository.BG_SELECT_RIGHT)); ctSelectRight.setLayout(new GridLayout()); GridData ctSelectRightLData = new GridData(SWT.BEGINNING, SWT.FILL, false, true); ctSelectRightLData.widthHint = 19; ctSelectRight.setLayoutData(ctSelectRightLData); } { gridViewer = new GridTableViewer(this, SWT.BORDER | SWT.V_SCROLL); gridViewer.setLabelProvider(new ListGridLabelProvider()); gridViewer.setContentProvider(new ListGridContentProvider()); gridViewer.getGrid().setSelectionEnabled(true); gridViewer.getGrid().setFont(defaultFont); gridViewer.getGrid().setItemHeight(28); gridViewer.setCellEditors(new CellEditor[] { new TextCellEditor(gridViewer.getGrid()), new TextCellEditor(gridViewer.getGrid()) }); gridViewer.setCellModifier(new ICellModifier() { public boolean canModify(Object element, String property) { return false; } public Object getValue(Object element, String property) { return element.toString(); } public void modify(Object element, String property, Object value) { } }); gridViewer.setColumnProperties(colProp); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy( gridViewer) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR); } }; GridViewerEditor.create(gridViewer, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); GridColumnGroup cgFst = new GridColumnGroup(gridViewer.getGrid(), SWT.CENTER); cgFst.setText(" 1 "); GridColumnGroup cgScnd = new GridColumnGroup(gridViewer.getGrid(), SWT.CENTER); cgScnd.setText(" 2 "); for (int i = 0; i < colName.length; i++) { GridColumn column = null; if (i == 3 || i == 4) { column = new GridColumn(cgFst, SWT.NONE); } else if (i == 5 || i == 6) { column = new GridColumn(cgScnd, SWT.NONE); } else { column = new GridColumn(gridViewer.getGrid(), SWT.NONE); } column.setWidth(colWidth[i]); column.setAlignment(colAlign[i]); column.setText(colName[i]); column.setResizeable(true); } gridViewer.getGrid().setLinesVisible(true); gridViewer.getGrid().setHeaderVisible(true); // gridViewer.getGrid().setRowHeaderVisible(true); gridViewer.getGrid().addMouseListener(new MouseAdapter() { public void mouseDoubleClick(MouseEvent evt) { Grid g = (Grid) evt.getSource(); if (listData != null && listData.size() > g.getSelectionIndex() && g.getSelectionIndex() != -1) { TsWgtInfDTO vo = listData.get(g.getSelectionIndex()); WeighSecondDialog dialog = new WeighSecondDialog(evt.display.getActiveShell(), SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); Object answer = dialog.open(vo); if (answer != null) { HomeView hv = (HomeView) PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage().findView(HomeView.ID); hv.refreshData(); selectData(); } } } }); Grid grid = gridViewer.getGrid(); grid.addControlListener(new ControlAdapter() { @Override public void controlResized(ControlEvent e) { int width = 0; for (int i = 0; i < gridViewer.getGrid().getColumnCount(); i++) { width = (int) (colWidth[i] * gridViewer.getGrid().getClientArea().width / 100); if (i == gridViewer.getGrid().getColumnCount() - 1) { width += 5; } gridViewer.getGrid().getColumn(i).setWidth(width); } int add = gridViewer.getGrid().getBounds().width / 100 - 6; gridViewer.getGrid() .setFont(SWTResourceManager.getFont("Arial", 10 + (add > 0 ? add : 0), SWT.NORMAL)); } }); grid.setLineColor(ColorRepository.getColor(ColorRepository.GRID_LINE)); GridData gridViewerLData = new GridData(); gridViewerLData.grabExcessHorizontalSpace = true; gridViewerLData.horizontalAlignment = GridData.FILL; gridViewerLData.grabExcessVerticalSpace = true; gridViewerLData.verticalAlignment = GridData.FILL; gridViewer.getGrid().setLayoutData(gridViewerLData); } this.layout(); } catch (Exception e) { e.printStackTrace(); } } protected void setTerm(int i) { String today = StringUtil.getDate("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); txtTo.setText(today); Calendar cal = Calendar.getInstance(); switch (i) { case 0: txtFrom.setText(today); break; case 1: cal.add(Calendar.DATE, -6); txtFrom.setText(sdf.format(cal.getTime())); break; case 2: cal.add(Calendar.MONTH, -1); cal.add(Calendar.DATE, 1); txtFrom.setText(sdf.format(cal.getTime())); break; default: break; } } private void init() { TsMstManager mgr = new TsMstManager(); car.setItems(mgr.selectTsCarMst(null)); cst.setItems(mgr.selectTsCstMst(null)); prdt.setItems(mgr.selectTsPrdtMst(null)); txtFrom.setText(StringUtil.getDate("yyyy-MM") + "-01"); txtTo.setText(StringUtil.getDate("yyyy-MM-dd")); gridViewer.getGrid().setLineColor(ColorRepository.getColor(ColorRepository.GRID_LINE)); rgWgtFlag.select(0); } public class ListGridLabelProvider extends LabelProvider implements ITableLabelProvider, ITableFontProvider, ITableColorProvider { FontRegistry registry = new FontRegistry(); public Image getColumnImage(Object element, int columnIndex) { return null; } public String getColumnText(Object element, int columnIndex) { TsWgtInfDTO data = (TsWgtInfDTO) element; Object o = StringUtil.invoke(data, StringUtil.makeGetter(colProp[columnIndex]), null); if (columnIndex == 3 || columnIndex == 5) { return StringUtil.extractTime(o); } return StringUtil.extractString(o, 0); } public Font getFont(Object element, int columnIndex) { return null; } public Color getBackground(Object element, int columnIndex) { TsWgtInfDTO data = (TsWgtInfDTO) element; if (data.getNo() % 2 == 0) { return ColorRepository.getColor(ColorRepository.GRID_ODD_BG); } return null; } public Color getForeground(Object element, int columnIndex) { TsWgtInfDTO data = (TsWgtInfDTO) element; if (data.getNo() % 2 == 0) { return Display.getCurrent().getSystemColor(SWT.COLOR_DARK_BLUE); } return null; } } private class ListGridContentProvider implements IStructuredContentProvider { public Object[] getElements(Object inputElement) { return (Object[]) inputElement; } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } } /** * * @param evt */ private void btnSelectMouseDown(MouseEvent evt) { selectData(); if (listData == null || listData.size() == 0) { MessageDialog.openInformation(getShell(), " ", " ."); } } /** * */ private void selectData() { try { TsWgtInfDTO dto = new TsWgtInfDTO(); dto.setExt_5(txtFrom.getText()); dto.setExt_6(txtTo.getText() + " 23:59:59"); if (car.getValue(CarComposite.KEY_ID) != null) dto.setCar_cd(car.getValue(CarComposite.KEY_ID)); if (!"".equals(car.getValue(CarComposite.KEY_NAME).trim())) dto.setCar_num(car.getValue(CarComposite.KEY_NAME)); if (cst.getValue(CstComposite.KEY_ID) != null) dto.setCst_cd(cst.getValue(CstComposite.KEY_ID)); if (!"".equals(cst.getValue(CstComposite.KEY_NAME).trim())) dto.setCst_nm(cst.getValue(CstComposite.KEY_NAME)); if (prdt.getValue(PrdtComposite.KEY_ID) != null) dto.setPrdt_cd(prdt.getValue(PrdtComposite.KEY_ID)); if (!"".equals(prdt.getValue(PrdtComposite.KEY_NAME).trim())) dto.setPrdt_nm(prdt.getValue(PrdtComposite.KEY_NAME)); if (rgWgtFlag.getSelection() != null && rgWgtFlag.getSelection().getData() != null) dto.setWgt_flg_cd((String) rgWgtFlag.getSelection().getData()); listData = mgr.selectTsWgtInf(dto); Object[] objs = ObjectUtil.setSeq(listData.toArray(new Object[0])); gridViewer.setInput(objs); } catch (Exception e) { log.error(e.getMessage()); e.printStackTrace(); MessageDialog.openError(getShell(), " Error", e.getMessage()); } } private void btnExportMouseDown(MouseEvent evt) { if (listData == null) { MessageDialog.openInformation(this.getShell(), "", " ."); return; } FileDialog dialog = new FileDialog(this.getShell(), SWT.SAVE); dialog.setFilterNames(new String[] { "Excel Files", "All Files (*.*)" }); dialog.setFilterExtensions(new String[] { "*.xls", "*.*" }); dialog.setFileName(" " + txtFrom.getText() + "~" + txtTo.getText() + ".xls"); String saveFile = dialog.open(); if (saveFile == null) { return; } saveExport(saveFile, " "); } /** * Excel * @param saveFile */ private void saveExport(String saveFile, String... str) { RvExcelWriter w = new RvExcelWriter(saveFile); ExportVO export = new ExportVO(); export.setWidth(colWidth); export.setTitle(str[0]); export.setHeader(colName); export.setFormat(colFormat); if (str.length > 1) export.setCond(str[1]); export.setData(listData.toArray(), colProp); try { w.write(export); MessageDialog.openInformation(this.getShell(), "", "Excel ."); } catch (IOException e) { MessageDialog.openError(this.getShell(), "Export Fail", "[Error] .\n\n" + e.getMessage()); } } }