Скажем, у меня есть JComboBox, который содержит элементы, которые находятся в векторе ...Как скрыть элементы с помощью JComboBox?
public class Shade(){
//code for creating panels etc and other components/containers
JCheckBox primary = new JCheckBox("Primary", false);
Vector<String> colours = new Vector<String>();
}
public Shade(){
//setTitle, look&feel, defaultCloseOperation, Layouts etc etc...
colours.add(0, "Purple);
colours.add(1, "Red");
colours.add(2, "Blue");
colours.add(3, "Magenta");
JComboBox<String> colourSelector = new JComboBox<String>(colours);
}
Если выбран первичный JCheckBox Я хочу, чтобы «скрыть» цвета фиолетовый и Magneta от JComboBox, после первичного JCheckBox был отменен. Я хотел бы раскрыть скрытые элементы, так что исходный список принадлежит.
Я попытался сделать это ...
public class eventHandler implements itemListener(){
Shade refObj;
public eventHandler(Shade rinseFM){
refObj = rinseFM;
}
#Overriding abstract implemented method...
public void itemStateChanged(ItemEvent event){
if(refObj.primary.isSelected() == true){
refObj.colours.hide(// index of colours required to hide))
}
}
}
Метод шкура на самом деле не существует, есть что-нибудь аналогичное этому.
Не уверен, существует ли такая функция с 'JComboBox'. Возможно, вам придется вручную удалить элементы из модели, а затем добавить их, когда захотите. Или создайте свою собственную реализацию, которая позволяет это. Из того, что я вижу, это не поддерживается –
Если я удалю их, когда я сниму флажок, они не появятся снова. Это проблема, потому что я должен был бы сказать if (refObj.primary.isSelected() == false) // добавьте то, что было удалено , который будет тусклым способом делать то, что я намерен. Также вы можете подробно остановиться на создании моей собственной реализации, которая позволяет это. – RamanSB