javax.swing.JList#getCellRenderer ( )源码实例Demo

下面列出了javax.swing.JList#getCellRenderer ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Bytecoder   文件: SwingUtilities2.java
/**
 * Returns true if the given point is within the actual bounds of the
 * JList item at index (not just inside the cell).
 */
private static <T> boolean pointIsInActualBounds(JList<T> list, int index,
                                            Point point) {
    ListCellRenderer<? super T> renderer = list.getCellRenderer();
    T value = list.getModel().getElementAt(index);
    Component item = renderer.getListCellRendererComponent(list,
                      value, index, false, false);
    Dimension itemSize = item.getPreferredSize();
    Rectangle cellBounds = list.getCellBounds(index, index);
    if (!item.getComponentOrientation().isLeftToRight()) {
        cellBounds.x += (cellBounds.width - itemSize.width);
    }
    cellBounds.width = itemSize.width;

    return cellBounds.contains(point);
}
 
源代码2 项目: marathonv5   文件: JListItemJavaElement.java
public static Component getRendererComponent(JList list, int item) {
    Object value = list.getModel().getElementAt(item);
    ListCellRenderer cellRenderer = list.getCellRenderer();
    Component rendererComponent = cellRenderer.getListCellRendererComponent(list, value, item, false, false);
    if (rendererComponent == null) {
        return null;
    }
    if (rendererComponent instanceof JComponent) {
        ((JComponent) rendererComponent).putClientProperty("jlist", (JList) list);
        ((JComponent) rendererComponent).putClientProperty("item", item);
    }
    return rendererComponent;
}
 
源代码3 项目: netbeans   文件: TableUISupport.java
public static void connectAvailable(JList availableTablesList, TableClosure tableClosure, FilterAvailable filter) {
    availableTablesList.setModel(new AvailableTablesModel(tableClosure));

    if (!(availableTablesList.getCellRenderer() instanceof AvailableTableRenderer)) {
        availableTablesList.setCellRenderer(new AvailableTableRenderer(filter));
    } else {
        AvailableTableRenderer renderer = (AvailableTableRenderer) availableTablesList.getCellRenderer();
        renderer.updateFilter(filter);
    }
}
 
源代码4 项目: netbeans   文件: TableUISupport.java
public static void connectSelected(JList selectedTablesList, TableClosure tableClosure) {
    selectedTablesList.setModel(new SelectedTablesModel(tableClosure));

    if (!(selectedTablesList.getCellRenderer() instanceof SelectedTableRenderer)) {
        selectedTablesList.setCellRenderer(new SelectedTableRenderer());
    }
}
 
源代码5 项目: netbeans   文件: ViewTooltips.java
private void showJList (JScrollPane view, Point pt) {
    JList list = (JList) view.getViewport().getView();
    Point p = SwingUtilities.convertPoint(view, pt.x, pt.y, list);
    int row = list.locationToIndex(p);
    if (row == -1) {
        hide();
        return;
    }
    Rectangle bds = list.getCellBounds(row, 
            row);
    //GetCellBounds returns a width that is the
    //full component width;  we want only what
    //the renderer really needs.
    ListCellRenderer ren = list.getCellRenderer();
    Dimension rendererSize = 
            ren.getListCellRendererComponent(list, 
            list.getModel().getElementAt(row), 
            row, false, false).getPreferredSize();
    
    bds.width = rendererSize.width;
    if (bds == null || !bds.contains(p)) {
        hide();
        return;
    }
    if (setCompAndRow (list, row)) {
        Rectangle visible = getShowingRect (view);
        Rectangle[] rects = getRects (bds, visible);
        if (rects.length > 0) {
            ensureOldPopupsHidden();
            painter.configure(
                    list.getModel().getElementAt(row), 
                    view, list, row);
            showPopups (rects, bds, visible, list, view);
        } else {
            hide();
        }
    }
}
 
源代码6 项目: jeddict   文件: TableUISupport.java
public static void connectAvailable(JList availableTablesList, TableClosure tableClosure) {
        availableTablesList.setModel(new AvailableTablesModel(tableClosure));
        if (!(availableTablesList.getCellRenderer() instanceof AvailableTableRenderer)) {
            availableTablesList.setCellRenderer(new AvailableTableRenderer());
        }
//        else {
//            AvailableTableRenderer renderer = (AvailableTableRenderer) availableTablesList.getCellRenderer();
//            renderer.updateFilter(filter);
//        }
    }
 
源代码7 项目: jeddict   文件: TableUISupport.java
public static void connectSelected(JList selectedTablesList, TableClosure tableClosure) {
    selectedTablesList.setModel(new SelectedTablesModel(tableClosure));

    if (!(selectedTablesList.getCellRenderer() instanceof SelectedTableRenderer)) {
        selectedTablesList.setCellRenderer(new SelectedTableRenderer());
    }
}
 
源代码8 项目: visualvm   文件: JmxConnectionConfigurator.java
private void initComponents() {
    okButton = new JButton(NbBundle.getMessage(JmxConnectionConfigurator.class, "LBL_OK"));    // NOI18N

    hintLabel = new JLabel("") { // NOI18N
        public Dimension getPreferredSize() {
            Dimension d = super.getPreferredSize();
            d.height = Math.max(d.height, okButton.getPreferredSize().height);
            return d;
        }
    };
    hintLabel.setForeground(UIManager.getColor("Label.disabledForeground")); // NOI18N

    setLayout(new BorderLayout());

    connectionTypeLabel = new JLabel();
    Mnemonics.setLocalizedText(connectionTypeLabel,
            NbBundle.getMessage(JmxConnectionConfigurator.class, "LBL_Connection_type")); // NOI18N
    createBorder(connectionTypeLabel, BorderFactory.createEmptyBorder(15, 10, 0, 10));
    add(connectionTypeLabel, BorderLayout.NORTH);

    connectionTypeListModel = new DefaultListModel();
    connectionTypeList = new JList(connectionTypeListModel) {
        public String getToolTipText(MouseEvent evt) {
            JmxConnectionCustomizer cust = getCustomizer(evt.getPoint());
            return cust == null ? null : cust.getPropertiesDescription();
        }

    };
    connectionTypeLabel.setLabelFor(connectionTypeList);
    connectionTypeList.setSelectionModel(new DefaultListSelectionModel() {
        public void removeSelectionInterval(int i1, int i2) {}
    });
    connectionTypeList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    final ListCellRenderer defaultRenderer = connectionTypeList.getCellRenderer();
    Component c = defaultRenderer.getListCellRendererComponent(connectionTypeList, "X", 0, false, false); // NOI18N
    connectionTypeList.setFixedCellHeight(c.getPreferredSize().height + 2);
    connectionTypeList.setCellRenderer(new ListCellRenderer() {
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
            return defaultRenderer.getListCellRendererComponent(list, " " + value + " ", index, isSelected, cellHasFocus); // NOI18N
        }
    });
    connectionTypeScroll = new JScrollPane(connectionTypeList,
                                JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
                                JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED) {
        public Dimension getPreferredSize() {
            Dimension preferredSize = super.getPreferredSize();
            preferredSize.width = Math.min(preferredSize.width, 300);
            preferredSize.width = Math.max(preferredSize.width, 120);
            return preferredSize;
        }
    };
    createBorder(connectionTypeScroll, BorderFactory.createEmptyBorder(5, 10, 0, 0));
    add(connectionTypeScroll, BorderLayout.WEST);

    customizerPanel = new JPanel(new BorderLayout());
    customizerPanel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5));
    customizerPanelScroll = new ScrollableContainer(customizerPanel,
            ScrollableContainer.VERTICAL_SCROLLBAR_AS_NEEDED,
            ScrollableContainer.HORIZONTAL_SCROLLBAR_NEVER);
    customizerPanelScroll.setBorder(BorderFactory.createEmptyBorder(10, 10, 0, 5));
    add(customizerPanelScroll, BorderLayout.CENTER);
}