public CombatViewer() { super("Combat Tracker"); setLookAndFeel(); setSize(500, 400); FlowLayout layout = new FlowLayout(FlowLayout.CENTER, 10, 10); setLayout(layout); String[] columnNames = {"First Name", "Last Name", "Sport", "# of Years", "Vegetarian"}; Object[][] data = { {"Kathy", "Smith", "Snowboarding", new Integer(5), new Boolean(false)}, {"John", "Doe", "Rowing", new Integer(3), new Boolean(true)}, {"Sue", "Black", "Knitting", new Integer(2), new Boolean(false)}, {"Jane", "White", "Speed reading", new Integer(20), new Boolean(true)}, {"Joe", "Brown", "Pool", new Integer(10), new Boolean(false)} }; JTable table = new JTable(data, columnNames); JScrollPane scrollPane = new JScrollPane(table); table.setFillsViewportHeight(true); panel1.setLayout(new BorderLayout()); panel1.add(table.getTableHeader(), BorderLayout.PAGE_START); panel1.add(table, BorderLayout.CENTER); add(panel1); panel2.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10)); panel2.add(testBox); add(panel2); setVisible(true); }
// This method from http://www.exampledepot.com/egs/javax.swing.table/PackCol.html public int packColumn(JTable table, int vColIndex, int margin) { DefaultTableColumnModel colModel = (DefaultTableColumnModel) table.getColumnModel(); TableColumn col = colModel.getColumn(vColIndex); int width = 0; // Get width of column header TableCellRenderer renderer = col.getHeaderRenderer(); if (renderer == null) { renderer = table.getTableHeader().getDefaultRenderer(); } Component comp = renderer.getTableCellRendererComponent(table, col.getHeaderValue(), false, false, 0, 0); width = comp.getPreferredSize().width; // Get maximum width of column data for (int r = 0; r < table.getRowCount(); r++) { renderer = table.getCellRenderer(r, vColIndex); comp = renderer.getTableCellRendererComponent( table, table.getValueAt(r, vColIndex), false, false, r, vColIndex); width = Math.max(width, comp.getPreferredSize().width); } // Add margin width += 2 * margin; // Set the width col.setPreferredWidth(width); return width; }
public static Component CreateRouteTable(Object[][] data, Dimension totalSize) { String[] columnNames = { "Route #", "Carrier", "Dep. Airport", "Dep. Time", "Arr. Airport", "Arr. Time", "Price", "status" }; // disable cell editing JTable routeTable = new JTable(data, columnNames) { public boolean isCellEditable(int rowIndex, int vColIndex) { return false; }; }; routeTable.getTableHeader().setReorderingAllowed(false); routeTable.getTableHeader().setResizingAllowed(false); JScrollPane routeTableScroll = new JScrollPane(routeTable); // create the routes table in a scrollPane routeTableScroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); routePanelWidth = (totalSize.width * 3 / 4) * 48 / 100; routePanelHeight = totalSize.height * 45 / 100; routeTableScroll.setPreferredSize(new Dimension(routePanelWidth, routePanelHeight)); return routeTableScroll; }
public ReplicatedTreeView(ReplicatedTree tree, Object title) throws Exception { this.tree = tree; tree.addReplicatedTreeListener(this); addNotify(); setTitle("ReplicatedTreeDemo: mbr=" + title); tree_model = new DefaultTreeModel(root); jtree = new JTree(tree_model); jtree.setDoubleBuffered(true); jtree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); JScrollPane scroll_pane = new JScrollPane(jtree); populateTree(); getContentPane().add(scroll_pane, BorderLayout.CENTER); addWindowListener(this); table_model.setColumnIdentifiers(new String[] {"Name", "Value"}); table_model.addTableModelListener(this); setTableColumnWidths(); tablePanel = new JPanel(); tablePanel.setLayout(new BorderLayout()); tablePanel.add(table.getTableHeader(), BorderLayout.NORTH); tablePanel.add(table, BorderLayout.CENTER); getContentPane().add(tablePanel, BorderLayout.SOUTH); jtree.addTreeSelectionListener(this); // REVISIT MouseListener ml = new MouseAdapter() { public void mouseClicked(MouseEvent e) { int selRow = jtree.getRowForLocation(e.getX(), e.getY()); TreePath selPath = jtree.getPathForLocation(e.getX(), e.getY()); if (selRow != -1) { selected_node = makeFQN(selPath.getPath()); jtree.setSelectionPath(selPath); if (e.getModifiers() == java.awt.event.InputEvent.BUTTON3_MASK) { operationsPopup.show(e.getComponent(), e.getX(), e.getY()); } } } }; jtree.addMouseListener(ml); createMenus(); setLocation(50, 50); setSize( getInsets().left + getInsets().right + 485, getInsets().top + getInsets().bottom + 367); init(); setVisible(true); }
private void prepareComponent() { CloseEventHandler closeEventHandler = new CloseEventHandler(); addWindowListener(closeEventHandler); Container contentPane = getContentPane(); contentPane.setLayout(new BorderLayout()); JPanel contentPanel = new JPanel(); // JPanel contentPanel = new FormDebugPanel(); contentPane.add(contentPanel, BorderLayout.CENTER); CellConstraints cc = new CellConstraints(); FormLayout layout = new FormLayout( "4dlu, d:grow, 4dlu", // columns "4dlu, p, 2dlu, fill:100dlu:grow, 4dlu, " + // rows "p, 2dlu, p, 4dlu"); // btn rows PanelBuilder contentPB = new PanelBuilder(layout, contentPanel); int columnCount = layout.getColumnCount(); int rowCount = layout.getRowCount(); JLabel label = new JLabel(Localizer.getString("MediaTypeCondEditor_ConditionToAdd")); contentPB.add(label, cc.xywh(2, 2, 1, 1)); mediaTypeModel = new MediaTypeModel(); mediaTypeTable = new JTable(mediaTypeModel); JTableHeader tableHeader = mediaTypeTable.getTableHeader(); tableHeader.setResizingAllowed(false); tableHeader.setReorderingAllowed(false); // adjust column witdh of checkbox JCheckBox box = (JCheckBox) mediaTypeTable.getDefaultRenderer(Boolean.class); TableColumn column = mediaTypeTable.getColumnModel().getColumn(0); column.setMaxWidth(box.getPreferredSize().width + 2); column.setMinWidth(box.getPreferredSize().width + 2); mediaTypeTable.getColumnModel().getColumn(1).setCellRenderer(new MediaTypeCellRenderer()); // ToolTipManager.sharedInstance().registerComponent( mediaTypeTable ); contentPB.add(new JScrollPane(mediaTypeTable), cc.xywh(2, 4, 1, 1)); // button bar contentPB.add(new JSeparator(), cc.xywh(1, rowCount - 3, columnCount, 1)); JButton okBtn = new JButton(Localizer.getString("OK")); okBtn.addActionListener(new OkBtnListener()); okBtn.setDefaultCapable(true); okBtn.setRequestFocusEnabled(true); JButton cancelBtn = new JButton(Localizer.getString("Cancel")); cancelBtn.addActionListener(closeEventHandler); JPanel btnPanel = ButtonBarFactory.buildOKCancelBar(okBtn, cancelBtn); contentPB.add(btnPanel, cc.xywh(2, rowCount - 1, columnCount - 2, 1)); setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); getRootPane().setDefaultButton(okBtn); pack(); setLocationRelativeTo(getParent()); }
/** * This method restores the width of the specified column to its previous width. * * @param column The column to restore. */ private void restoreColumn(int column) { TableColumn tableColumn = table.getColumnModel().getColumn(column); Integer width = columnSizes.get(tableColumn); if (width != null) { table.getTableHeader().setResizingColumn(tableColumn); tableColumn.setWidth(width.intValue()); } }
private String extractContent( DataGridPanel grid, String delimiter, boolean saveHeader, boolean ecloseWithDowbleQuotes) { JTable _table = grid.getTable(); int numcols = _table.getSelectedColumnCount(); int numrows = _table.getSelectedRowCount(); if (numcols > 0 && numrows > 0) { StringBuffer sbf = new StringBuffer(); int[] rowsselected = _table.getSelectedRows(); int[] colsselected = _table.getSelectedColumns(); if (saveHeader) { // put header name list for (int j = 0; j < numcols; j++) { String text = (String) _table .getTableHeader() .getColumnModel() .getColumn(colsselected[j]) .getHeaderValue(); sbf.append(text); if (j < numcols - 1) sbf.append(delimiter); } sbf.append("\n"); } // put content for (int i = 0; i < numrows; i++) { for (int j = 0; j < numcols; j++) { Object value = _table.getValueAt(rowsselected[i], colsselected[j]); String _value = ""; if (value != null) { _value = value.toString(); } if (ecloseWithDowbleQuotes) { sbf.append("\"").append(_value).append("\""); } else { sbf.append(_value); } if (j < numcols - 1) sbf.append(delimiter); } sbf.append("\n"); } // StringSelection stsel = new StringSelection(sbf.toString()); // Clipboard system = Toolkit.getDefaultToolkit().getSystemClipboard(); // system.setContents(stsel, stsel); return sbf.toString(); } return null; }
/* * Calculated the width based on the column name */ private int getColumnHeaderWidth(int column) { if (!isColumnHeaderIncluded) return 0; TableColumn tableColumn = table.getColumnModel().getColumn(column); Object value = tableColumn.getHeaderValue(); TableCellRenderer renderer = tableColumn.getHeaderRenderer(); if (renderer == null) { renderer = table.getTableHeader().getDefaultRenderer(); } Component c = renderer.getTableCellRendererComponent(table, value, false, false, -1, column); return c.getPreferredSize().width; }
void tableInitialise(JTable table) { JScrollPane scroll; TableColumn column = null; int colunms = table.getColumnCount(); for (int y = 0; y < colunms; y++) { column = table.getColumnModel().getColumn(y); /*将每一列的默认宽度设置为100*/ column.setPreferredWidth(100); } /* * 设置JTable自动调整列表的状态,此处设置为关闭 */ table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); table.setFont(new Font("Menu.font", Font.PLAIN, 14)); table.getTableHeader().setFont(new Font("Menu.font", Font.BOLD, 15)); /*用JScrollPane装载JTable,这样超出范围的列就可以通过滚动条来查看*/ scroll = new JScrollPane(table); TablePanel.removeAll(); TablePanel.setLayout(new BoxLayout(TablePanel, BoxLayout.Y_AXIS)); TablePanel.add(scroll); TablePanel.revalidate(); table.setRowSelectionAllowed(true); // 设置JTable可被选择 table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // 设置JTable为单行选择 table.getTableHeader().setBackground(new Color(206, 231, 255)); // 设置JTable表头颜色 table.getTableHeader().setReorderingAllowed(false); // 设置JTable每个字段的顺序不可以改变 table.getTableHeader().setResizingAllowed(false); // 设置JTable每个表头的大小不可以改变 makeFace(table); // 设置JTable 颜色 table.setVisible(true); }
/* * Update the TableColumn with the newly calculated width */ private void updateTableColumn(int column, int width) { final TableColumn tableColumn = table.getColumnModel().getColumn(column); if (!tableColumn.getResizable()) return; width += spacing; // Don't shrink the column width if (isOnlyAdjustLarger) { width = Math.max(width, tableColumn.getPreferredWidth()); } columnSizes.put(tableColumn, new Integer(tableColumn.getWidth())); table.getTableHeader().setResizingColumn(tableColumn); tableColumn.setWidth(width); }
public void mouseClicked(MouseEvent e) { TableColumnModel colModel = table.getColumnModel(); int columnModelIndex = colModel.getColumnIndexAtX(e.getX()); int modelIndex = colModel.getColumn(columnModelIndex).getModelIndex(); if (modelIndex < 0) return; if (sortCol == modelIndex) isSortAsc = !isSortAsc; else sortCol = modelIndex; for (int i = 0; i < colNames.length; i++) { TableColumn column = colModel.getColumn(i); column.setHeaderValue(getColumnName(column.getModelIndex())); } table.getTableHeader().repaint(); Collections.sort(rowData, new MyComparator(isSortAsc)); table.tableChanged(new TableModelEvent(MyTableModel.this)); table.repaint(); }
public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if (table != null) { JTableHeader header = table.getTableHeader(); if (header != null) { setFont(header.getFont()); } } this.isSelected = isSelected; this.hasFocus = hasFocus; this.column = column; this.hasRollover = (column == rolloverColumn); if (skin == null || skin.getContentMargin() == null) { skin = XPStyle.getXP().getSkin(header, "header.headeritem"); } setText((value == null) ? "" : value.toString()); setBorder(new EmptyBorder(skin.getContentMargin())); return this; }
public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if (table != null) { JTableHeader header = table.getTableHeader(); if (header != null) { setForeground(header.getForeground()); setBackground(header.getBackground()); setFont(header.getFont()); } } if (isSelected) { setFont(getFont().deriveFont(Font.BOLD)); } setText((value == null) ? "" : value.toString()); setBorder(UIManager.getBorder("TableHeader.cellBorder")); return this; }
GroupableHeaderExample() { super("Groupable Header Example"); DefaultTableModel dm = new DefaultTableModel(); dm.setDataVector( new Object[][] { {"119", "foo", "bar", "ja", "ko", "zh"}, {"911", "bar", "foo", "en", "fr", "pt"} }, new Object[] {"SNo.", "1", "2", "Native", "2", "3"}); JTable table = new JTable(dm) { protected JTableHeader createDefaultTableHeader() { return new GroupableTableHeader(columnModel); } }; TableColumnModel cm = table.getColumnModel(); ColumnGroup g_name = new ColumnGroup("Name"); g_name.add(cm.getColumn(1)); g_name.add(cm.getColumn(2)); ColumnGroup g_lang = new ColumnGroup("Language"); g_lang.add(cm.getColumn(3)); ColumnGroup g_other = new ColumnGroup("Others"); g_other.add(cm.getColumn(4)); g_other.add(cm.getColumn(5)); g_lang.add(g_other); GroupableTableHeader header = (GroupableTableHeader) table.getTableHeader(); header.addColumnGroup(g_name); header.addColumnGroup(g_lang); JScrollPane scroll = new JScrollPane(table); getContentPane().add(scroll); setSize(400, 120); }
/** * Constructor initialises the table and a popup tool, as well as initialising the required GUI * elements. It adds action listeners for the three main buttons, which include basic user input * validation checking. */ public TableAttributeEditor(JFrame MyOwner) { // As usual, it is insanely hard to get the swing components to display // and work properly. If JTable is not displayed in a scroll pane no headers are // displayed, and you have to do it manually. (If you *do* display it // in a scrollbar, in this instance, it screws up sizing) // The broken header mis-feature is only mentioned in the tutorial, // not in the api doco - go figure. super(); owner = MyOwner; // final JPanel mainPanel = (JPanel)this; tableData = new AttributeTableModel(); attributeTable = new JTable(tableData); // attributeTable.setRowHeight(20); // This may be needed, depends on how fussy people get about // the bottom of letters like 'y' getting cut off when the cell is selected - bug 3013. popupTableTool = new SmartPopupTableTool(attributeTable, tableData, (JXplorerBrowser) owner); // Set the renderer for the attribute type... final AttributeTypeCellRenderer typeRenderer = new AttributeTypeCellRenderer(); attributeTable.setDefaultRenderer(AttributeNameAndType.class, typeRenderer); // Set the renderer for the attribute value... final AttributeValueCellRenderer valueRenderer = new AttributeValueCellRenderer(); attributeTable.setDefaultRenderer(AttributeValue.class, valueRenderer); // Set the editor for the attribute value... myEditor = new AttributeValueCellEditor(owner); attributeTable.setDefaultEditor(AttributeValue.class, myEditor); attributeTable.getTableHeader().setReorderingAllowed(false); currentDN = null; JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER)); buttonPanel.add( submit = new CBButton( CBIntText.get("Submit"), CBIntText.get("Submit your changes to the Directory."))); buttonPanel.add( reset = new CBButton( CBIntText.get("Reset"), CBIntText.get("Reset this entry i.e. cancels any changes."))); buttonPanel.add( changeClass = new CBButton( CBIntText.get("Change Classes"), CBIntText.get("Change the Object Class of this entry."))); buttonPanel.add( opAttrs = new CBButton( CBIntText.get("Properties"), CBIntText.get("View the Operational Attributes of this entry."))); // I don't really understand why we have to do this... // but without it these buttons over ride the default // button (Search Bar's search button), if they have // been clicked and the user hits the enter key? opAttrs.setDefaultCapable(false); submit.setDefaultCapable(false); reset.setDefaultCapable(false); changeClass.setDefaultCapable(false); setLayout(new BorderLayout(10, 10)); tableScroller = new JScrollPane(); attributeTable.setBackground(Color.white); tableScroller.setPreferredSize(new Dimension(300, 285)); tableScroller.setViewportView(attributeTable); add(tableScroller, BorderLayout.CENTER); add(buttonPanel, BorderLayout.SOUTH); if ("true".equals(JXConfig.getProperty("lock.read.only"))) title = CBIntText.get("Table Viewer"); else title = CBIntText.get("Table Editor"); setVisible(true); // triggers adding operational attributes of the current entry. opAttrs.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { displayOperationalAttributes(); } }); reset.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { myEditor.stopCellEditing(); // tableData.reset(); displayEntry(originalEntry, dataSource, false); } }); submit.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { doSubmit(); } }); // This allows the user to change the objectclass attribute. // This is pretty tricky, because it changes what attributes are available. changeClass.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { changeClass(); } }); attributeTable.addMouseListener( new MouseAdapter() { public void mousePressed(MouseEvent e) { if (!doPopupStuff(e)) super.mousePressed(e); } public void mouseReleased(MouseEvent e) { if (!doPopupStuff(e)) super.mouseReleased(e); } // TODO need to have a way to call this from a keystroke... public boolean doPopupStuff(MouseEvent e) { if (e.isPopupTrigger() == false) return false; int row = attributeTable.rowAtPoint(new Point(e.getX(), e.getY())); attributeTable.clearSelection(); attributeTable.addRowSelectionInterval(row, row); attributeTable.repaint(); popupTableTool.registerCurrentRow( (AttributeNameAndType) attributeTable.getValueAt(row, 0), (AttributeValue) attributeTable.getValueAt(row, 1), row, tableData.getRDN()); // active path also set by valueChanged popupTableTool.show(attributeTable, e.getX(), e.getY()); popupTableTool.registerCellEditor(myEditor); // TE: for bug fix 3107. return true; } }); }
public void setContent(String cat) { cat = cat.trim(); selectAllCB.setVisible(false); selectAllCB.setSelected(false); deleteBut.setVisible(false); restoreBut.setVisible(false); refreshBut.setVisible(true); Object columns[] = null; int count = 0; switch (cat) { case "Inbox": columns = new Object[] {"", "From", "Date", "Subject", "Content"}; count = Database.getCount("Inbox"); workingSet = db.getData("SELECT * FROM messages WHERE tag='inbox' ORDER BY msg_id desc"); ; break; case "SentMail": columns = new Object[] {"", "To", "Date", "Subject", "Content"}; count = Database.getCount("Sentmail"); workingSet = db.getData("SELECT * FROM messages WHERE tag='sentmail' ORDER BY msg_id desc"); break; case "Draft": columns = new Object[] {"", "To", "Date", "Subject", "Content"}; count = Database.getCount("Draft"); workingSet = db.getData("SELECT * FROM messages WHERE tag='draft' ORDER BY msg_id desc"); break; case "Outbox": columns = new Object[] {"", "To", "Date", "Subject", "Content"}; count = Database.getCount("Outbox"); workingSet = db.getData("SELECT * FROM messages WHERE tag='outbox' ORDER BY msg_id desc"); break; case "Trash": // restoreBut.setVisible(true); columns = new Object[] {"", "To/From", "Date", "Subject", "Content"}; count = Database.getCount("Trash"); workingSet = db.getData( "SELECT * FROM messages,trash WHERE messages.tag='trash' and messages.msg_id=trash.msg_id ORDER BY deleted_at desc"); break; default: System.out.println("in default case"); } if (count > 0) { selectAllCB.setVisible(true); rows = new Object[count][]; msgID = new int[count]; try { workingSet.beforeFirst(); for (int i = 0; i < count && workingSet.next(); i++) { msgID[i] = workingSet.getInt(1); rows[i] = new Object[] { false, workingSet.getString(2), workingSet.getDate(3), workingSet.getString(4), workingSet.getString(5) }; } } catch (SQLException sqlExc) { JOptionPane.showMessageDialog(null, sqlExc, "EXCEPTION", JOptionPane.ERROR_MESSAGE); sqlExc.printStackTrace(); } tableModel = new MyDefaultTableModel(rows, columns); table = new JTable(tableModel); table.getSelectionModel().addListSelectionListener(this); table.addMouseListener(this); table.getTableHeader().setOpaque(true); table.getTableHeader().setReorderingAllowed(false); // table.getTableHeader().setBackground(Color.blue); table.getTableHeader().setForeground(Color.blue); // table.setRowSelectionAllowed(false); // table.setColumnSelectionAllowed(false); table.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 14)); table.setRowHeight(20); table.setFillsViewportHeight(true); TableColumn column = null; for (int i = 0; i < 5; i++) { column = table.getColumnModel().getColumn(i); if (i == 0) { column.setPreferredWidth(6); } else if (i == 3) { column.setPreferredWidth(250); } else if (i == 4) { column.setPreferredWidth(450); } else { column.setPreferredWidth(40); } } table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS); remove(contentPan); contentPan = new JScrollPane(table); contentPan.setBackground(Color.orange); contentPan.setOpaque(true); contentPan.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); add(contentPan, "Center"); Home.home.homeFrame.setVisible(true); } else { JPanel centPan = new JPanel(new GridBagLayout()); centPan.setBackground(new Color(52, 86, 70)); JLabel label = new JLabel("No Messages In This Category"); label.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 22)); label.setForeground(Color.orange); centPan.add(label); remove(contentPan); contentPan = new JScrollPane(centPan); contentPan.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); add(contentPan, "Center"); contentPan.repaint(); } }
// {{{ InstallPanel constructor InstallPanel(PluginManager window, boolean updates) { super(new BorderLayout(12, 12)); this.window = window; this.updates = updates; setBorder(new EmptyBorder(12, 12, 12, 12)); final JSplitPane split = new JSplitPane(JSplitPane.VERTICAL_SPLIT); split.setResizeWeight(0.75); /* Setup the table */ table = new JTable(pluginModel = new PluginTableModel()); table.setShowGrid(false); table.setIntercellSpacing(new Dimension(0, 0)); table.setRowHeight(table.getRowHeight() + 2); table.setPreferredScrollableViewportSize(new Dimension(500, 200)); table.setDefaultRenderer( Object.class, new TextRenderer((DefaultTableCellRenderer) table.getDefaultRenderer(Object.class))); table.addFocusListener(new TableFocusHandler()); InputMap tableInputMap = table.getInputMap(JComponent.WHEN_FOCUSED); ActionMap tableActionMap = table.getActionMap(); tableInputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0), "tabOutForward"); tableActionMap.put("tabOutForward", new KeyboardAction(KeyboardCommand.TAB_OUT_FORWARD)); tableInputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_TAB, InputEvent.SHIFT_MASK), "tabOutBack"); tableActionMap.put("tabOutBack", new KeyboardAction(KeyboardCommand.TAB_OUT_BACK)); tableInputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0), "editPlugin"); tableActionMap.put("editPlugin", new KeyboardAction(KeyboardCommand.EDIT_PLUGIN)); tableInputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "closePluginManager"); tableActionMap.put( "closePluginManager", new KeyboardAction(KeyboardCommand.CLOSE_PLUGIN_MANAGER)); TableColumn col1 = table.getColumnModel().getColumn(0); TableColumn col2 = table.getColumnModel().getColumn(1); TableColumn col3 = table.getColumnModel().getColumn(2); TableColumn col4 = table.getColumnModel().getColumn(3); TableColumn col5 = table.getColumnModel().getColumn(4); col1.setPreferredWidth(30); col1.setMinWidth(30); col1.setMaxWidth(30); col1.setResizable(false); col2.setPreferredWidth(180); col3.setPreferredWidth(130); col4.setPreferredWidth(70); col5.setPreferredWidth(70); JTableHeader header = table.getTableHeader(); header.setReorderingAllowed(false); header.addMouseListener(new HeaderMouseHandler()); header.setDefaultRenderer( new HeaderRenderer((DefaultTableCellRenderer) header.getDefaultRenderer())); scrollpane = new JScrollPane(table); scrollpane.getViewport().setBackground(table.getBackground()); split.setTopComponent(scrollpane); /* Create description */ JScrollPane infoPane = new JScrollPane(infoBox = new PluginInfoBox()); infoPane.setPreferredSize(new Dimension(500, 100)); split.setBottomComponent(infoPane); EventQueue.invokeLater( new Runnable() { @Override public void run() { split.setDividerLocation(0.75); } }); final JTextField searchField = new JTextField(); searchField.addKeyListener( new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_DOWN || e.getKeyCode() == KeyEvent.VK_UP) { table.dispatchEvent(e); table.requestFocus(); } } }); searchField .getDocument() .addDocumentListener( new DocumentListener() { void update() { pluginModel.setFilterString(searchField.getText()); } @Override public void changedUpdate(DocumentEvent e) { update(); } @Override public void insertUpdate(DocumentEvent e) { update(); } @Override public void removeUpdate(DocumentEvent e) { update(); } }); table.addKeyListener( new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { int i = table.getSelectedRow(), n = table.getModel().getRowCount(); if (e.getKeyCode() == KeyEvent.VK_DOWN && i == (n - 1) || e.getKeyCode() == KeyEvent.VK_UP && i == 0) { searchField.requestFocus(); searchField.selectAll(); } } }); Box filterBox = Box.createHorizontalBox(); filterBox.add(new JLabel("Filter : ")); filterBox.add(searchField); add(BorderLayout.NORTH, filterBox); add(BorderLayout.CENTER, split); /* Create buttons */ Box buttons = new Box(BoxLayout.X_AXIS); buttons.add(new InstallButton()); buttons.add(Box.createHorizontalStrut(12)); buttons.add(new SelectallButton()); buttons.add(chooseButton = new ChoosePluginSet()); buttons.add(new ClearPluginSet()); buttons.add(Box.createGlue()); buttons.add(new SizeLabel()); add(BorderLayout.SOUTH, buttons); String path = jEdit.getProperty(PluginManager.PROPERTY_PLUGINSET, ""); if (!path.isEmpty()) { loadPluginSet(path); } } // }}}
private void setupTables() throws Exception { templateTableModel = new ListTableModel<InFacilityLaboItem>( TEMPLATE_COL_NAME, START_NUM_ROW, TEMPLATE_COL_METHOD, null) { @Override public boolean isCellEditable(int row, int column) { return false; } }; setTableModel = new ListTableModel<InFacilityLaboItem>(SET_COL_NAME, START_NUM_ROW, SET_COL_METHOD, null) { @Override public boolean isCellEditable(int row, int column) { if (column == VALUE_COL || column == NORMAL_COL || column == UNIT_COL) { return true; } return false; } @Override public void setValueAt(Object obj, int row, int column) { if (column != VALUE_COL && column != NORMAL_COL && column != UNIT_COL) { return; } InFacilityLaboItem item = (InFacilityLaboItem) setTableModel.getObject(row); String value = (String) obj; value = toHalfNumber(value).trim(); switch (column) { case VALUE_COL: item.setItemValue(value); break; case NORMAL_COL: item.setNormalValue(value); break; case UNIT_COL: item.setUnit(value); break; } item.setAbnormalFlg(getAbnormalFlg(item)); } }; List<InFacilityLaboItem> defaultList = InFacilityLaboTable.createLaboItemList(); templateTableModel.setDataProvider(defaultList); templateTable.setModel(templateTableModel); StripeTableCellRenderer renderer = new StripeTableCellRenderer(templateTable); renderer.setDefaultRenderer(); templateTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); templateTable.getTableHeader().setReorderingAllowed(false); // 列幅を設定する int len = TEMPLATE_COL_NAME.length; TableColumn column; for (int i = 0; i < len; i++) { column = templateTable.getColumnModel().getColumn(i); column.setPreferredWidth(TEMPLATE_COL_WIDTH[i]); } templateTable.setDragEnabled(true); InFacilityLaboTransferHandler tHandler = new InFacilityLaboTransferHandler(); tHandler.setEditable(false); templateTable.setTransferHandler(tHandler); MasudaDelegater del = MasudaDelegater.getInstance(); List<InFacilityLaboItem> facilityList = del.getInFacilityLaboItemList(); setTableModel.setDataProvider(facilityList); setTable.setModel(setTableModel); renderer = new StripeTableCellRenderer(setTable); renderer.setDefaultRenderer(); setTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); setTable.getTableHeader().setReorderingAllowed(false); // 列幅を設定する len = SET_COL_NAME.length; for (int i = 0; i < len; i++) { column = setTable.getColumnModel().getColumn(i); column.setPreferredWidth(SET_COL_WIDTH[i]); } setTable.setDragEnabled(true); setTable.setDropMode(DropMode.INSERT_ROWS); setTable.setColumnSelectionAllowed(false); setTable.setCellSelectionEnabled(true); InFacilityLaboTransferHandler sHandler = new InFacilityLaboTransferHandler(); sHandler.setEditable(true); setTable.setTransferHandler(sHandler); setTable.addMouseMotionListener(new SetTableMouseMotionListener()); }
public InputPanel( final TreeSpaceFrame parent, final TreeSpaceDocument document, final Action addDataAction) { this.frame = parent; this.document = document; dataTableModel = new DataTableModel(); dataTable = new JTable(dataTableModel); dataTable.getTableHeader().setReorderingAllowed(false); // dataTable.getTableHeader().setDefaultRenderer( // new HeaderRenderer(SwingConstants.LEFT, new Insets(0, 4, 0, 4))); TableColumn col = dataTable.getColumnModel().getColumn(0); col.setCellRenderer(new MultiLineTableCellRenderer()); dataTable.setRowHeight(dataTable.getRowHeight() * 2); dataTable.setDragEnabled(false); dataTable.setTransferHandler(new FSTransfer()); TableEditorStopper.ensureEditingStopWhenTableLosesFocus(dataTable); dataTable .getSelectionModel() .addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent evt) { selectionChanged(); } }); dataTable.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { editSelection(); } } }); scrollPane = new JScrollPane( dataTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); scrollPane.setOpaque(false); // JToolBar toolBar1 = new JToolBar(); // toolBar1.setFloatable(false); // toolBar1.setOpaque(false); // toolBar1.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); // JButton button = new JButton(unlinkModelsAction); // unlinkModelsAction.setEnabled(false); // PanelUtils.setupComponent(button); // toolBar1.add(button); ActionPanel actionPanel1 = new ActionPanel(true); actionPanel1.setAddAction(addDataAction); actionPanel1.setRemoveAction(removeAction); removeAction.setEnabled(false); JPanel controlPanel1 = new JPanel(new FlowLayout(FlowLayout.LEFT)); controlPanel1.setOpaque(false); controlPanel1.add(actionPanel1); setOpaque(false); setBorder(new BorderUIResource.EmptyBorderUIResource(new Insets(12, 12, 12, 12))); setLayout(new BorderLayout(0, 0)); // add(toolBar1, BorderLayout.NORTH); add(scrollPane, BorderLayout.CENTER); add(controlPanel1, BorderLayout.SOUTH); document.addListener( new TreeSpaceDocument.Listener() { public void dataChanged() { dataTableModel.fireTableDataChanged(); } public void settingsChanged() {} }); }
public static void main(String args[]) { // style that is necessary try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException e) { } catch (InstantiationException e) { } catch (IllegalAccessException e) { } catch (UnsupportedLookAndFeelException e) { } // Standard preparation for a frame fmain = new JFrame("Schedule Appointments"); // Create and name frame fmain.setSize(330, 375); // Set size to 400x400 pixels pane = fmain.getContentPane(); pane.setLayout(null); // Apply null layout fmain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Close when X is clicked // controls and portions of Calendar lmonth = new JLabel("January"); lyear = new JLabel("Change year:"); cyear = new JComboBox(); prev = new JButton("<<"); next = new JButton(">>"); canc = new JButton("Cancel"); mcal = new DefaultTableModel() { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; Cal = new JTable(mcal); scal = new JScrollPane(Cal); pcal = new JPanel(null); canc.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { System.exit(0); } }); // action listeners for buttons and the like prev.addActionListener(new btnPrev_Action()); next.addActionListener(new btnNext_Action()); cyear.addActionListener(new cmbYear_Action()); Cal.addMouseListener(new mouseCont()); // Adding the elements to the pane pane.add(pcal); pcal.add(lmonth); pcal.add(cyear); pcal.add(prev); pcal.add(next); pcal.add(canc); pcal.add(scal); // Setting where the elements are on the pane pcal.setBounds(0, 0, 320, 335); lmonth.setBounds(160 - lmonth.getPreferredSize().width / 2, 25, 100, 25); canc.setBounds(10, 305, 80, 20); cyear.setBounds(215, 305, 100, 20); prev.setBounds(10, 25, 50, 25); next.setBounds(260, 25, 50, 25); scal.setBounds(10, 50, 300, 250); // Make frame visible fmain.setResizable(false); fmain.setVisible(true); // Inner workings for the day mechanism GregorianCalendar cal = new GregorianCalendar(); // Create calendar rday = cal.get(GregorianCalendar.DAY_OF_MONTH); // Get day rmonth = cal.get(GregorianCalendar.MONTH); // Get month ryear = cal.get(GregorianCalendar.YEAR); // Get year currentMonth = rmonth; // Match month and year currentYear = ryear; // Add days String[] days = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; // All of the days for (int i = 0; i < 7; i++) { mcal.addColumn(days[i]); } Cal.getParent().setBackground(Cal.getBackground()); // Set background // No resize/reorder Cal.getTableHeader().setResizingAllowed(false); Cal.getTableHeader().setReorderingAllowed(false); // Single cell selection Cal.setColumnSelectionAllowed(true); Cal.setRowSelectionAllowed(true); Cal.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // Set row/column count Cal.setRowHeight(38); mcal.setColumnCount(7); mcal.setRowCount(6); // Placing the dates in the cells for (int i = ryear - 100; i <= ryear + 100; i++) { cyear.addItem(String.valueOf(i)); } // Refresh calendar refreshCalendar(rmonth, ryear); // Refresh calendar }
public UnitPersonnelPanel(Unit u) { _Unit = u; _Model = new PersonnelTableModel(_Unit); _Sorter.setTableModel(_Model); _PersonnelTable.setModel(_Sorter); _Sorter.setTableHeader(_PersonnelTable.getTableHeader()); _PersonnelTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); _PersonnelTable.setPreferredSize(new Dimension(1000, 600)); _PersonnelTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); _PersonnelTable.addMouseListener(this); _ScrollPane = new JScrollPane( _PersonnelTable, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); _EditPanel.setBorder(BorderFactory.createEtchedBorder()); _EditPanel.setLayout(new BoxLayout(_EditPanel, BoxLayout.Y_AXIS)); _EditPanel.add( SwingHelper.GetTextFieldWithAction( _NameTextField, "Name", "Name of the Unit member", true, "RandomName", "Generate a Random Name", this)); _EditPanel.add( SwingHelper.GetTextField(_CallsignTextField, "Callsign", "The Person's callsign", true)); _EditPanel.add(SwingHelper.GetComboBox(_RankCombo, "Rank", "The persons Rank", true)); _EditPanel.add( SwingHelper.GetComboBox(_HomePlanetCombo, "Home Planet", "The persons Home Planet", true)); _EditPanel.add( SwingHelper.GetComboBox(_RatingCombo, "Rating", "The persons experience rating", true)); _EditPanel.add( SwingHelper.GetComboBox( _JobTypeCombo, "Job Type", "The job type this person is used for", true)); _EditPanel.add( SwingHelper.GetTextFieldWithAction( _AssetAssignmentTextField, "Asset Assignment", "The Asset this person is assigned to", true, "AssetAssignment", "Set asset assignment for this person", this)); _EditPanel.add( SwingHelper.GetTextArea(_NotesTextArea, "Notes", "Notes for this Personnel record", true)); _AddPersonnelButton.setActionCommand("AddPersonnel"); _AddPersonnelButton.addActionListener(this); _RemovePersonnelButton.setActionCommand("RemovePersonnel"); _RemovePersonnelButton.addActionListener(this); _AssetAssignmentTextField.setEditable(false); _ButtonPanel.setLayout(new BorderLayout()); _ButtonPanel.add(_AddPersonnelButton, BorderLayout.WEST); _ButtonPanel.add(_RemovePersonnelButton, BorderLayout.EAST); setLayout(new BorderLayout()); add(_EditPanel, BorderLayout.NORTH); add(_ScrollPane, BorderLayout.CENTER); add(_ButtonPanel, BorderLayout.SOUTH); FillCombos(); _CurrentPersonnel = null; _PreviousPersonnel = null; setVisible(true); }
public FrontEnd() { setLocation(0, 0); setSize(1285, 750); setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); addWindowListener( new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); table = new JTable(dtm) { @Override public boolean isCellEditable(int row, int column) { if (column == 0 || column == 1) return false; else return true; } }; final JComboBox comboBoxRun = new JComboBox(); comboBoxRun.setEditable(true); comboBoxRun.addItem("Run all tests"); comboBoxRun.addItem("Run all tests and then rerun Failed tests"); comboBoxRun.addItem("Only run Failed tests"); table.getColumnModel().getColumn(0).setPreferredWidth(422); table.getColumnModel().getColumn(1).setPreferredWidth(460); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); table.setRowSelectionAllowed(false); table.getTableHeader().setReorderingAllowed(false); table.getTableHeader().setPreferredSize(new Dimension(100, HEADER_HEIGHT)); table.getTableHeader().setFont(new Font(null, Font.BOLD, 12)); table.getTableHeader().setBackground(Color.LIGHT_GRAY); table.getTableHeader().setPreferredSize(new Dimension(10000, 32)); JScrollPane sp = new JScrollPane(table); JPanel subPanel = new JPanel(); JPanel subPanel1 = new JPanel(); openF = new JButton("Choose File"); openFo = new JButton("Choose Folder"); selFo = new JButton("Select Single Folder"); canF = new JButton("Cancel"); canF.setEnabled(false); resLab = new JLabel("Results Path"); Launch = new JButton("Launch"); foSel = new JButton("..."); foSel.setPreferredSize(new Dimension(18, 18)); resBox = new JTextField(placeS); resBox.setPreferredSize(new Dimension(500, 24)); resBox.setEditable(false); duplC = new JCheckBox("Remove Duplicates"); duplC.setSelected(true); subPanel.add(openF); subPanel.add(openFo); subPanel.add(selFo); subPanel.add(canF); subPanel.add(Launch); subPanel.add(duplC); subPanel.add(comboBoxRun); subPanel1.add(resLab); subPanel1.add(resBox); subPanel1.add(foSel); initUI(); getContentPane().add(sp, BorderLayout.CENTER); getContentPane().add(subPanel, BorderLayout.SOUTH); getContentPane().add(subPanel1, BorderLayout.NORTH); sValue = (String) comboBoxRun.getSelectedItem(); comboBoxRun.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { String sValue = (String) comboBoxRun.getSelectedItem(); if (sValue.equals("Run all Tests")) { flagF = 1; } if (sValue.contains("Run all tests and then rerun Failed tests")) { flagF = 2; } if (sValue.contains("Only run Failed tests")) { flagF = 3; } System.out.println(flagF); } }); openF.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { openFile(); } }); openFo.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { openFolder(); } }); selFo.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { selFolder(); } }); canF.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { cancelSel(); } }); foSel.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { resFol(); resBox.setText(placeS); } }); Launch.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { try { doLaunch(); } catch (IOException ex) { Logger.getLogger(FrontEnd.class.getName()).log(Level.SEVERE, null, ex); } } }); table.addMouseListener( new java.awt.event.MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) { // Bring up pop up on row/col of right click JTable source = (JTable) e.getSource(); int row = source.rowAtPoint(e.getPoint()); int column = source.columnAtPoint(e.getPoint()); if (!source.isRowSelected(row) || !source.isColumnSelected(column)) source.changeSelection(row, column, false, false); doPop(e); } } }); }