将Swing组合框TipTool设置为选定项目

Setting Swing combobox tiptool to selected item(将Swing组合框TipTool设置为选定项目)

本文介绍了将Swing组合框TipTool设置为选定项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个组合框,其中的项是对象,其字符串值可能很长。我不想让框变长,而是希望全文显示时鼠标悬停。我如何才能做到这一点?

推荐答案

基本解决方案是提供ListCellRenderer将返回的ComponenttoolTipText属性设置为所需的相应值

DefaultListCellRenderer扩展自JLabel,因此您只需使用它的toolTipText方法即可提供您想要的任何"扩展"文本。

public class ToolTipListCellRenderer extends DefaultListCellRenderer {

    @Override
    public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
        // I'd extract the basic "text" representation of the value
        // and pass that to the super call, which will apply it to the 
        // JLabel via the setText method, otherwise it will use the
        // objects toString method to generate a representation
        super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); 
        setToolTipText("To what ever you need based on the value that has been passsed");
        return this;
    }

}

有关详细信息,请参阅How to use comboboxes和Providing a custom renderer

这篇关于将Swing组合框TipTool设置为选定项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:将Swing组合框TipTool设置为选定项目

基础教程推荐