Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Создание новой строки!


Автор: Listad 13.5.2006, 10:54
Здравствуйте!! 

Автор: LSD 13.5.2006, 11:02
Модератор: и что означает сия тема? 

Автор: Listad 13.5.2006, 11:05
Я делаю мастера создания таблиц, и мне нужно сделать кнопку которая будет добавлять новую строку. Строка обладает свойствами при нажатии на кнопку добавления нового ряда Add new row визуально должно создаваться поле с пустым именем, типом VARCHAR и длиной поля 0. Я решил реализовать свою TableModel через 3 ArrayList-а.  
Код

public class MyTableModel extends AbstractTableModel {
    private ArrayList table = new ArrayList();
    private static ArrayList columnNames = new ArrayList();
    private ArrayList columnTypes = new ArrayList();
    private boolean editable;
    public static int VARCHAR;

    public MyTableModel(boolean editable){
        this.editable = editable;
    }
    public static void addColumn(String txt){
        columnNames.add(txt);
    }
    public int getColumnCount() {
        return columnNames.size();
    }
    public Class getColumnClass(int column){
        return String.class;
    }

    public int getRowCount() {
        synchronized(table){
        return table.size();
        }
    }
    public String getColumnName(int column){
        return (String)columnNames.get(column);
    }
    //данные в ячейке
    public Object getValueAt(int row, int column) {
        synchronized(table){
        return ((ArrayList)table.get(row)).get(column);
        }
    }
    //возможность редактирования
    public boolean isEditable(int row, int column){
        return editable;
    }
    //замена значения ячейки
    public void setValueAt(Object value, int row, int column){
        synchronized(table){
           ((ArrayList)table.get(row)).set(column, value);
        }
    }


Добавлено @ 11:06 
подскажите как я это могу сделать? фантазия меня подводит... smile

Добавлено @ 11:07 
Сорри, рука соскачила

Добавлено @ 11:07 
поэтому сначала такое сообщение получилось 

Автор: ShamanTrirukiy 13.5.2006, 18:02
Цитата(Listad @  13.5.2006,  11:05 Найти цитируемый пост)
public static void addColumn(String txt){
        columnNames.add(txt);
    }
 
сработает нормально только если table пуста(в противном случае при обращении к последнему элементу в строке получишь ArrayIndexOutOfBoundsException от всех сеществовавших до добавления столбца строк)

Можно ли сделать объект, который будет являться строкой в таблице?

Цитата(Listad @  13.5.2006,  11:05 Найти цитируемый пост)
визуально должно создаваться поле с пустым именем, типом VARCHAR и длиной поля 0

не понял  smile  

Автор: LSD 14.5.2006, 00:51
У строки нет имени, и нет в Java такого типа VARCHAR, это же не БД. Поподробне расскажи, что ты хочешь реализовать. 

Автор: Listad 15.5.2006, 21:39
Спасибо огромное, я уже вроде разобрался...
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)