팝업 목록의 항목을 강조하고 싶습니다.jcombobox 팝업창에 java swing, highligth 항목이 있습니다.
"강조 표시"는 (예를 들어 setSelectedItem을 호출하여) 선택하지 않고 jcombobox 팝업 내에서만 선택되도록하기 때문에 말합니다.
어떻게하면됩니까?
팝업 목록의 항목을 강조하고 싶습니다.jcombobox 팝업창에 java swing, highligth 항목이 있습니다.
"강조 표시"는 (예를 들어 setSelectedItem을 호출하여) 선택하지 않고 jcombobox 팝업 내에서만 선택되도록하기 때문에 말합니다.
어떻게하면됩니까?
첫 번째 항목이 아닌 다음과 같은 종류의 작업이 선택됩니다. 그러나 키보드를 사용하여 선택 항목을 변경하면 선택한 항목이기 때문에 처음부터 항상 시작됩니다.
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.plaf.basic.*;
public class ComboBoxSelect extends JFrame
{
public ComboBoxSelect()
{
String[] items = { "Item1", "Item2", "Item3", "Item4", "Item5" };
JComboBox comboBox = new JComboBox(items);
add(comboBox);
comboBox.addPopupMenuListener(new PopupMenuListener()
{
public void popupMenuWillBecomeVisible(PopupMenuEvent e)
{
JComboBox comboBox = (JComboBox)e.getSource();
BasicComboPopup popup = (BasicComboPopup)comboBox.getAccessibleContext().getAccessibleChild(0);
JList list = popup.getList();
list.setSelectedIndex(2);
}
public void popupMenuCanceled(PopupMenuEvent e) {}
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {}
});
}
public static void main(String[] args)
{
ComboBoxSelect frame = new ComboBoxSelect();
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
이 쓰기까지 당신이 JComboBox에 수정 수있는 방법에 대한 지침을 제공한다 : 그것은 자동 완성 기능을 위해 쓰여 있지만
는 사용자 정의 메커니즘은 매우 유사하다 선택하지 않고 강조 (아마 더 쉬울 것이다).
이 솔루션을 사용 setSelectedItem 팝업에서 항목을 highligth합니다. – blow
이것은 완벽합니다! 고맙습니다!! – blow