public void mousePressed(MouseEvent e) { if (e.getButton() != MouseEvent.BUTTON1) { return; } if (e.getClickCount() != 2) { return; } JTable table = (JTable) e.getSource(); Point p = e.getPoint(); int row = table.rowAtPoint(p); if (row < 0) { return; } PickerTableModel model = getDataModel(); ICFBamServerListFuncObj o = (ICFBamServerListFuncObj) model.getValueAt(row, COLID_ROW_HEADER); invokeWhenChosen.choseServerListFunc(o); try { Container cont = getParent(); while ((cont != null) && (!(cont instanceof JInternalFrame))) { cont = cont.getParent(); } if (cont != null) { ((JInternalFrame) cont).setClosed(true); } } catch (Exception x) { } }
public void setSwingFocus(ICFLibAnyObj value) { final String S_ProcName = "setSwingFocus"; if ((value == null) || (value instanceof ICFBamServerListFuncObj)) { super.setSwingFocus(value); } else { throw CFLib.getDefaultExceptionFactory() .newUnsupportedClassException( getClass(), S_ProcName, "value", value, "ICFBamServerListFuncObj"); } if (dataTable == null) { return; } if (value == null) { dataTable.clearSelection(); } else { ICFBamServerListFuncObj curSelected; PickerTableModel tblDataModel = getDataModel(); int selectedRow = dataTable.getSelectedRow(); int modelIndex = dataTable.convertRowIndexToModel(selectedRow); if (selectedRow >= 0) { Object selectedRowData = tblDataModel.getValueAt(modelIndex, COLID_ROW_HEADER); curSelected = (ICFBamServerListFuncObj) selectedRowData; } else { curSelected = null; } if (curSelected != value) { int len = tblDataModel.getRowCount(); int idx = 0; while ((idx < len) && (tblDataModel.getValueAt(idx, COLID_ROW_HEADER) != value)) { idx++; } if (idx < len) { int viewRow = dataTable.convertRowIndexToView(idx); dataTable.clearSelection(); dataTable.addRowSelectionInterval(viewRow, viewRow); } } } }
public CFBamSwingServerListFuncPickerJPanel( ICFBamSwingSchema argSchema, ICFBamServerListFuncObj argFocus, ICFBamTableObj argContainer, Collection<ICFBamServerListFuncObj> argDataCollection, ICFBamSwingServerListFuncChosen whenChosen) { super(); final String S_ProcName = "construct-schema-focus"; if (argSchema == null) { throw CFLib.getDefaultExceptionFactory() .newNullArgumentException(getClass(), S_ProcName, 1, "argSchema"); } if (whenChosen == null) { throw CFLib.getDefaultExceptionFactory() .newNullArgumentException(getClass(), S_ProcName, 5, "whenChosen"); } invokeWhenChosen = whenChosen; // argFocus is optional; focus may be set later during execution as // conditions of the runtime change. swingSchema = argSchema; swingFocus = argFocus; swingContainer = argContainer; setSwingDataCollection(argDataCollection); dataTable = new JTable(getDataModel(), getDataColumnModel(), getDataListSelectionModel()); dataTable.addMouseListener(getDataListMouseAdapter()); dataTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); dataTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); dataTable.setUpdateSelectionOnSort(true); dataTable.setRowHeight(25); getDataListSelectionModel().addListSelectionListener(getDataListSelectionListener()); dataScrollPane = new JScrollPane( dataTable, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); dataScrollPane.setColumnHeader( new JViewport() { @Override public Dimension getPreferredSize() { Dimension sz = super.getPreferredSize(); sz.height = 25; return (sz); } }); dataTable.setFillsViewportHeight(true); actionCancel = new ActionCancel(); buttonCancel = new JButton(actionCancel); actionChooseNone = new ActionChooseNone(); buttonChooseNone = new JButton(actionChooseNone); actionChooseSelected = new ActionChooseSelectedServerListFunc(); buttonChooseSelected = new JButton(actionChooseSelected); // Do initial layout setSize(1024, 480); add(buttonChooseNone); add(buttonChooseSelected); add(buttonCancel); add(dataScrollPane); dataScrollPane.setBounds(0, 35, 1024, 455); doLayout(); setSwingFocusAsServerListFunc(argFocus); }