Java 在Jlist项目中添加ToolTipText
我有这个方法填充我的JList,有没有一种方法可以添加JList中每个项目的toolTipText 您可以重写GetToolTiptText。。JList的方法 我相信你也可以使用一个自定义的渲染器来调用setToolTiptText。。。方法 您可以重写GetToolTiptText。。JList的方法 我相信你也可以使用一个自定义的渲染器来调用setToolTiptText。。。方法Java 在Jlist项目中添加ToolTipText,java,tooltip,jlist,Java,Tooltip,Jlist,我有这个方法填充我的JList,有没有一种方法可以添加JList中每个项目的toolTipText 您可以重写GetToolTiptText。。JList的方法 我相信你也可以使用一个自定义的渲染器来调用setToolTiptText。。。方法 您可以重写GetToolTiptText。。JList的方法 我相信你也可以使用一个自定义的渲染器来调用setToolTiptText。。。方法 如果不想覆盖JList,可以使用MouseMotionAdapter更改工具提示文本 public stat
如果不想覆盖JList,可以使用MouseMotionAdapter更改工具提示文本
public static void populateJList(JList list) {
ArrayList<String> contents= DataAccess.getContents();
DefaultListModel listModel = new DefaultListModel();
for (String string : contents) {
listModel.addElement(string);
}
preset.setModel(listModel);
}
如果不想覆盖JList,可以使用MouseMotionAdapter更改工具提示文本
public static void populateJList(JList list) {
ArrayList<String> contents= DataAccess.getContents();
DefaultListModel listModel = new DefaultListModel();
for (String string : contents) {
listModel.addElement(string);
}
preset.setModel(listModel);
}
对于JDK>=1.6,需要稍微不同的构造:
jList.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseMoved(MouseEvent e) {
JList l = (JList)e.getSource();
ListModel m = l.getModel();
int index = l.locationToIndex(e.getPoint());
if( index>-1 ) {
l.setToolTipText(m.getElementAt(index).toString());
}
}
});
对于JDK>=1.6,需要稍微不同的构造:
jList.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseMoved(MouseEvent e) {
JList l = (JList)e.getSource();
ListModel m = l.getModel();
int index = l.locationToIndex(e.getPoint());
if( index>-1 ) {
l.setToolTipText(m.getElementAt(index).toString());
}
}
});
如果您有一个包含多个组件作为列表项的JContainer,那么重写getToolTipText会更好。如果您有一个包含多个组件作为列表项的JContainer,然后重写GetToolTiptText更好。.MouseMotionAdapter是一个抽象类,它已经没有op方法,并且自JDK 1.1MouseMotionAdapter是一个抽象类,它已经没有op方法,并且自JDK 1.1以来就存在