/** Make pick table, DND enabled */ public JTable makePickTable() { this.init(); try { // following might fail due to a missing method on Mac Classic _sorter = new TableSorter(this); _table = jmri.util.JTableUtil.sortableDataModel(_sorter); _sorter.setTableHeader(_table.getTableHeader()); _sorter.setColumnComparator(String.class, new jmri.util.SystemNameComparator()); _table.setModel(_sorter); } catch (Throwable e) { // NoSuchMethodError, NoClassDefFoundError and others on early JVMs log.error("makePickTable: Unexpected error: " + e); _table = new JTable(this); } _table.setRowSelectionAllowed(true); _table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); _table.setPreferredScrollableViewportSize( new java.awt.Dimension(250, _table.getRowHeight() * 7)); _table.setDragEnabled(true); _table.setTransferHandler(new jmri.util.DnDTableExportHandler()); _table.getTableHeader().setReorderingAllowed(true); _table.setColumnModel(new XTableColumnModel()); _table.createDefaultColumnsFromModel(); TableColumnModel columnModel = _table.getColumnModel(); TableColumn sNameColumnT = columnModel.getColumn(SNAME_COLUMN); sNameColumnT.setResizable(true); sNameColumnT.setMinWidth(50); // sNameColumnT.setMaxWidth(200); TableColumn uNameColumnT = columnModel.getColumn(UNAME_COLUMN); uNameColumnT.setResizable(true); uNameColumnT.setMinWidth(100); // uNameColumnT.setMaxWidth(300); addMouseListenerToHeader(_table); return _table; }
public void initComponents() throws Exception { // set the frame's initial state setSize(500, 300); setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); tableModel = new TieTableModel(); table = jmri.util.JTableUtil.sortableDataModel(tableModel); table.setRowSelectionAllowed(true); table.setPreferredScrollableViewportSize(new java.awt.Dimension(300, 350)); TableColumnModel columnModel = table.getColumnModel(); TableColumn column; column = columnModel.getColumn(TieTableModel.USERNAME_COLUMN); column.setMinWidth(20); // column.setMaxWidth(40); column.setResizable(true); column = columnModel.getColumn(TieTableModel.ID_COLUMN); column.setMinWidth(40); // column.setMaxWidth(85); column.setResizable(true); JScrollPane scrollPane = new JScrollPane(table); add(scrollPane); }
/** Constructor method */ public PollTablePane(jmri.ModifiedFlag flag) { super(); this.modifiedFlag = flag; setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); pollModel = new PollDataModel(modifiedFlag); JTable pollTable = jmri.util.JTableUtil.sortableDataModel(pollModel); // install a button renderer & editor ButtonRenderer buttonRenderer = new ButtonRenderer(); pollTable.setDefaultRenderer(JButton.class, buttonRenderer); TableCellEditor buttonEditor = new ButtonEditor(new JButton()); pollTable.setDefaultEditor(JButton.class, buttonEditor); pollTable.setDefaultRenderer(JComboBox.class, new jmri.jmrit.symbolicprog.ValueRenderer()); pollTable.setDefaultEditor(JComboBox.class, new jmri.jmrit.symbolicprog.ValueEditor()); try { jmri.util.com.sun.TableSorter tmodel = ((jmri.util.com.sun.TableSorter) pollTable.getModel()); tmodel.setSortingStatus(PollDataModel.ADDRCOL, jmri.util.com.sun.TableSorter.ASCENDING); } catch (ClassCastException e3) { } // if not a sortable table model pollTable.setRowSelectionAllowed(false); pollTable.setPreferredScrollableViewportSize(new java.awt.Dimension(580, 80)); JScrollPane scrollPane = new JScrollPane(pollTable); add(scrollPane); // status info on bottom JPanel p = new JPanel() { /** */ private static final long serialVersionUID = 2303477665465877882L; public Dimension getMaximumSize() { int height = getPreferredSize().height; int width = super.getMaximumSize().width; return new Dimension(width, height); } }; p.setLayout(new FlowLayout()); polling = new JCheckBox(rb.getString("LabelPoll")); polling.setSelected(Engine.instance().getPolling()); p.add(polling); polling.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { modifiedFlag.setModifiedFlag(true); checkPolling(); } }); JPanel m = new JPanel(); m.setLayout(new BoxLayout(m, BoxLayout.Y_AXIS)); ButtonGroup g = new ButtonGroup(); bscMode = new JRadioButton(rb.getString("LabelBscMode")); bscMode.setSelected(Engine.instance().getBscPollMode()); m.add(bscMode); g.add(bscMode); bscMode.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { modifiedFlag.setModifiedFlag(true); checkMode(); } }); directMode = new JRadioButton(rb.getString("LabelDirectMode")); directMode.setSelected(Engine.instance().getDirectPollMode()); m.add(directMode); g.add(directMode); directMode.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { modifiedFlag.setModifiedFlag(true); checkMode(); } }); throttleMode = new JRadioButton(rb.getString("LabelThrottleMode")); throttleMode.setSelected(Engine.instance().getThrottlePollMode()); m.add(throttleMode); g.add(throttleMode); throttleMode.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { modifiedFlag.setModifiedFlag(true); checkMode(); } }); p.add(m); p.add(Box.createHorizontalGlue()); p.add(new JLabel(rb.getString("LabelDelay"))); delay = new JTextField(5); delay.setText("" + Engine.instance().getPollingInterval()); p.add(delay); delay.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { modifiedFlag.setModifiedFlag(true); updateInterval(); } }); JButton b = new JButton(rb.getString("LabelSetDefault")); b.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { modifiedFlag.setModifiedFlag(true); setDefaults(); } }); p.add(b); add(p); }