Java проходит через JList, который содержит JPanel - JLabel
Я пытаюсь перебрать JList, где каждый элемент содержит: JPanel - JLabel
В настоящее время у меня есть:
System.out.println("Reading all list items:");
System.out.println("-----------------------");
for (int i = 0; i < menuList.getModel().getSize(); i++) {
Object item = menuList.getModel().getElementAt(i);;
System.out.println("Item = " + item);
}
Вывод, который я получаю:
Item = javax.swing.JPanel [, 0,0,0x0, недопустимый,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9, MaximumSize=, минимум Size =, предпочитаемый Size=]
Вместо этого я хочу получить доступ к тексту, который находится внутри JPanel.
Как это можно сделать?
Редактировать: вот как я добавляю свою JPanel в JList
menuList = new JList(v);
v = new Vector <String> ();
menuList.setListData(v);
.....
// get our images
Icon pingImage = new javax.swing.ImageIcon(getClass().getResource("/resources/icnNew.png"));
// add the images to jlabels with text
JLabel pingLabel = new JLabel("Hi there", pingImage, JLabel.LEFT);
// create the corresponding panels
JPanel pingPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
// add the labels onto the panels
pingPanel.add(pingLabel);
v.add(pingPanel);
Итак, текст, который я хочу найти: "Привет!"
1 ответ
Тогда вам нужно проверить элементы внутри этой JPanel. Я имею в виду, что панель - это контейнер элементов пользовательского интерфейса, который говорит, что вам нужно проверить элементы, после того как вы проверили, вам нужно сравнить, является ли это меткой или нет, если это метка, то вы сможете чтобы получить текст этого ярлыка.
Не могли бы вы показать нам код, возможно, будет проще, если вы предоставите фрагмент.