JList가 있으며 각 JList 항목에는 고유 한 표시 텍스트와 툴팁 텍스트가 있습니다. JList에 'DefaultListModel'을 사용하고 싶습니다. 내 질문은 어떻게 든 DefaultListModel 항목을 추가 할 때 도구 설명 텍스트를 저장할 수 있습니다.DafaultListModel의 툴팁 텍스트가있는 JList
감사합니다.
JList가 있으며 각 JList 항목에는 고유 한 표시 텍스트와 툴팁 텍스트가 있습니다. JList에 'DefaultListModel'을 사용하고 싶습니다. 내 질문은 어떻게 든 DefaultListModel 항목을 추가 할 때 도구 설명 텍스트를 저장할 수 있습니다.DafaultListModel의 툴팁 텍스트가있는 JList
감사합니다.
getToolTipText(...)
메서드를 재정 의하여 사용자 지정 도구 설명을 제공 할 수 있습니다. 예를 들어
:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ListToolTip extends JFrame
{
public ListToolTip()
{
DefaultListModel model = new DefaultListModel();
model.addElement("one");
model.addElement("two");
model.addElement("three");
model.addElement("four");
model.addElement("five");
model.addElement("six");
model.addElement("seven");
model.addElement("eight");
model.addElement("nine");
model.addElement("ten");
JList list = new JList(model)
{
public String getToolTipText(MouseEvent e)
{
int row = locationToIndex(e.getPoint());
Object o = getModel().getElementAt(row);
return o.toString();
}
public Point getToolTipLocation(MouseEvent e)
{
int row = locationToIndex(e.getPoint());
Rectangle r = getCellBounds(row, row);
return new Point(r.width, r.y);
}
};
JScrollPane scrollPane = new JScrollPane(list);
getContentPane().add(scrollPane);
}
public static void main(String[] args)
{
ListToolTip frame = new ListToolTip();
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setSize(400, 100);
frame.setVisible(true);
}
}
가 getToolTipLocation(...)
오버라이드가 필요하지 않다.
편집 :
내가 모델에 사용자 정의 텍스트를 저장할
다음
당신이 목록과에 표시되는 값이 포함 된 모델에서 사용자 지정 개체를 저장해야합니다 툴팁 텍스트.
이 방법을 사용하여 개체를 만드는 예는 ComboBox With Hidden Data을 확인하십시오.
각 항목의 툴팁과 동일한 텍스트를 표시하고 싶지 않습니다. 첫번째 iem은 "One apple"을, 두 번째 항목은 "두 개의 바나나"를 보여주고 싶습니다. 그리고 모델에 맞춤 텍스트를 저장하고 싶습니다. –
@ Md.ShahriarMahbub, '각 항목에 대한 툴팁으로 같은 텍스트를 보여주고 싶지 않습니다.'- 분명히, 나는 그 방법을 사용하는 방법을 보여 주려고했다. '그리고 사용자 정의 텍스트를 모델에 저장하고 싶습니다. '- 이제 모델에 추가 한 객체의 텍스트를 가져 오기 위해 로직을 수정해야합니다. – camickr
클래스의 toString() 메서드를 재정 의하여 트릭을 완료했습니다. –
JList의 툴팁은'ListCellRenderer' 셀의 툴팁으로 정의됩니다. –