
27.12.2009, 03:04
|
|
Участник форума
Регистрация: 27.11.2008
Сообщений: 161
Провел на форуме: 298300
Репутация:
128
|
|
Сообщение от Insane bboy
кодю на джаве совсем недолго, у меня возникла проблема с jlist, я не знаю как управлять элементами jlist, пишу в нетбинсе, добавляю jlist на панель
как управлять элементами? методов add, del, etc я е обнаружил у jList1..
и как должна выглядеть строчка String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" }; чтоб элементы брались из файла по типу, строка - элемент)
Представляй свои элементы в виде списка. Я написал маленький примерчик, там есть комментарии
Код:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.Arrays;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
/**
* @author ss88
*
*/
public class HelloListFrame extends JFrame {
/**
*
*/
private static final long serialVersionUID = 4357062401801939262L;
private JList list;
private ArrayList<String> items;
public HelloListFrame(String[] listItems) {
setTitle("JList example");
setSize(300, 300);
items = new ArrayList<String>(Arrays.asList(listItems));
/**
* Мы могли бы передать массив объектов в качестве параметра одного из
* конструкторов класса, но мы намерено создаем пустой список
*/
list = new JList();
/**
* имя метода не совсем очевидно, но имеем, то и имеем :) Мы просто
* передаем массив или список объектов, которые представляют собой
* содержимое списка
*/
list.setListData(items.toArray());
// установка бордюрного менеджера компоновки
setLayout(new BorderLayout());
// добавление списка в центральную часть фрейма
add(new JScrollPane(list), BorderLayout.CENTER);
add(new JButton(new DeleteAction("Delete last")), BorderLayout.SOUTH);
}
private class DeleteAction extends AbstractAction {
private static final long serialVersionUID = 3638818075843161033L;
public DeleteAction(String title) {
putValue(NAME, title);
}
@Override
public void actionPerformed(ActionEvent arg0) {
if (!items.isEmpty()) {
items.remove(items.size() - 1);
list.setListData(items.toArray());
}
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
HelloListFrame frame = new HelloListFrame(new String[] {
"Оболонь", "Чернігівське", "Славутич", "Балтика",
"ППБ", "Рогань", "ПИТ" });
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
|
|
|