Package xgenerator.ui.swing.adapter

Source Code of xgenerator.ui.swing.adapter.TableComboBoxPopupMenuListener

package xgenerator.ui.swing.adapter;

import java.awt.Component;
import java.util.Vector;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.event.PopupMenuEvent;
import javax.swing.event.PopupMenuListener;

import xgenerator.service.MetadataService;
import xgenerator.service.impl.MetadataServiceImpl;
import xgenerator.ui.swing.JGeneratorFrame;
import xgenerator.ui.swing.MetadataTable;
import xgenerator.util.StringUtils;

public class TableComboBoxPopupMenuListener implements PopupMenuListener {
 
  /**
   * MetadataService
   */
  private MetadataService metadataService;
 
  /**
   * UI组件
   */
  private Component ui;
 
  /**
   * constructor
   * @param ui
   */
  public TableComboBoxPopupMenuListener(Component ui) {
    this.ui = ui;
    this.metadataService = new MetadataServiceImpl();
  }

  /**
   * <p>
   * Title:
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   * @see javax.swing.event.PopupMenuListener#popupMenuCanceled(javax.swing.event.PopupMenuEvent)
   */
  public void popupMenuCanceled(PopupMenuEvent e) {

  }

  /**
   * <p>
   * Title:
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   * @see javax.swing.event.PopupMenuListener#popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent)
   */
  public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
   
  }

  /**
   * <p>
   * Title:
   * </p>
   * @author <a href="mailto:shushanlee@msn.com">liss</a>
   * @param e
   * @see javax.swing.event.PopupMenuListener#popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent)
   */
  public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
    try {
      MetadataTable metadataTable = (MetadataTable) ui;
      JGeneratorFrame jGeneratorFrame = (JGeneratorFrame) metadataTable.getParentComponent();
      JComboBox datasourceComboBox = jGeneratorFrame.getDataSourceComboBox();
      Object selectedItem = datasourceComboBox.getSelectedItem();
      String datasourceName = StringUtils.toString(selectedItem);
      System.out.println("datasourceName=" + datasourceName);
     
      Vector dataVector = metadataService.getTables(datasourceName);
      JComboBox tableComboBox = (JComboBox) e.getSource();
      tableComboBox.setModel(new DefaultComboBoxModel(dataVector));
    } catch (Exception ex) {
      JOptionPane.showMessageDialog(ui, ex.getMessage(), "错误", JOptionPane.ERROR_MESSAGE);
      ex.printStackTrace();
    }
  }

}
TOP

Related Classes of xgenerator.ui.swing.adapter.TableComboBoxPopupMenuListener

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.