当前位置: 首页>>代码示例>>Java>>正文


Java JList.getDropLocation方法代码示例

本文整理汇总了Java中javax.swing.JList.getDropLocation方法的典型用法代码示例。如果您正苦于以下问题:Java JList.getDropLocation方法的具体用法?Java JList.getDropLocation怎么用?Java JList.getDropLocation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.swing.JList的用法示例。


在下文中一共展示了JList.getDropLocation方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getListCellRendererComponent

import javax.swing.JList; //导入方法依赖的package包/类
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
    if (!(value instanceof TreeListNode)) {
        //shoudln't happen
        return new JLabel();
    }
    TreeListNode node = (TreeListNode) value;
    int rowHeight = list.getFixedCellHeight();
    int rowWidth = list.getVisibleRect().width;
    int dropIndex = -1;
    DropLocation dropLocation = list.getDropLocation();
    if (dropLocation != null && !dropLocation.isInsert()) {
        dropIndex = dropLocation.getIndex();
    }
    boolean isDropTarget = dropIndex == index;
    isSelected = isSelected || isDropTarget;
    Color background = isSelected ? list.getSelectionBackground() : list.getBackground();
    Color foreground = isSelected ? list.getSelectionForeground() : list.getForeground();

    return node.getRenderer(foreground, background, isSelected, cellHasFocus, rowHeight, rowWidth);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:21,代码来源:TreeList.java

示例2: getListCellRendererComponent

import javax.swing.JList; //导入方法依赖的package包/类
@Override
    public Component getListCellRendererComponent (
        JList                   list,
        Object                  value,
        int                     index,
        boolean                 isSelected,
        boolean                 cellHasFocus
    ) {
        setComponentOrientation (list.getComponentOrientation ());

        Color bg = null;
        Color fg = null;

        JList.DropLocation dropLocation = list.getDropLocation ();
        if (dropLocation != null && !dropLocation.isInsert () && dropLocation.getIndex () == index) {

            bg = UIManager.getColor ("List.dropCellBackground");
            fg = UIManager.getColor ("List.dropCellForeground");

            isSelected = true;
        }

        String line = (String) value;
        Link link = StackLineAnalyser.analyse (line);

        if (isSelected) {
            setBackground (bg == null ? list.getSelectionBackground () : bg);
            setForeground(fg == null ? list.getSelectionForeground() : fg);
        } else {
            setBackground (list.getBackground ());
//            if (link != null)
//                setForeground (foreground);
//            else
                setForeground (list.getForeground ());
        }

        if (link != null) {
            StringBuilder sb = new StringBuilder ();
            sb.append ("<html>");
            if (isSelected)
                sb.append("<style> a.val {text-decoration: underline; color: " + toRgbText(getForeground().getRGB()) + "} </style><body>");
            sb.append (line.substring (0, link.getStartOffset ()));
            sb.append ("<a class=\"val\" href=\"\">");
            sb.append (line.substring (link.getStartOffset (), link.getEndOffset ()));
            sb.append ("</a>");
            sb.append (line.substring (link.getEndOffset ()));
            sb.append ("</body></html>");
            setText (sb.toString ());
        } else
            setText (line.trim ());

        setEnabled (list.isEnabled ());

        Border border = null;
        if (cellHasFocus) {
            if (isSelected) {
                border = UIManager.getBorder ("List.focusSelectedCellHighlightBorder");
            }
            if (border == null) {
                border = UIManager.getBorder ("List.focusCellHighlightBorder");
            }
        } else {
            border = getNoFocusBorder ();
        }
        setBorder (border);

        return this;
    }
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:69,代码来源:AnalyserCellRenderer.java

示例3: getListCellRendererComponent

import javax.swing.JList; //导入方法依赖的package包/类
public Component getListCellRendererComponent (
    JList                   list,
    Object                  value,
    int                     index,
    boolean                 isSelected,
    boolean                 cellHasFocus
) {
    setComponentOrientation (list.getComponentOrientation ());

    Color bg = null;
    Color fg = null;

    JList.DropLocation dropLocation = list.getDropLocation ();
    if (dropLocation != null && !dropLocation.isInsert () && dropLocation.getIndex () == index) {

        bg = UIManager.getColor("List.dropCellBackground");
        fg = UIManager.getColor("List.dropCellForeground");

        isSelected = true;
    }

    if (isSelected) {
        setBackground (bg == null ? list.getSelectionBackground () : bg);
        setForeground (fg == null ? list.getSelectionForeground () : fg);
    } else {
        setBackground (list.getBackground ());
        setForeground (list.getForeground ());
    }

    String name = (String) value;
    setText (name.substring (1));
    setSelected (name.charAt (0) == '+');

    setEnabled (list.isEnabled ());
    setFont (list.getFont ());

    Border border = null;
    if (cellHasFocus) {
        if (isSelected) {
            border = UIManager.getBorder("List.focusSelectedCellHighlightBorder");
        }
        if (border == null) {
            border = UIManager.getBorder("List.focusCellHighlightBorder");
        }
    } else {
        border = getNoFocusBorder ();
    }
    if (border != null) { //#189786: rarely, the border is null - reasons are unknown
        setBorder (border);
    } else {
        Logger.getLogger(CheckBoxRenderrer.class.getName()).log(Level.INFO, "Cannot set any border");
    }

    return this;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:56,代码来源:CheckBoxRenderrer.java


注:本文中的javax.swing.JList.getDropLocation方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。