powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Настройка jTable1
13 сообщений из 13, страница 1 из 1
Настройка jTable1
    #38785765
VaneS Ri_lax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте подскажите пожалуйста как у таблицы запретить ввод данных по двойному клику по ячейке и как запретить перетаскивание столбцов?
Заранее большое спасибо!
...
Рейтинг: 0 / 0
Настройка jTable1
    #38785771
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
table.getTableHeader().setReorderingAllowed(false)
редактирование задаётся в TableModel.isCellEditable()
...
Рейтинг: 0 / 0
Настройка jTable1
    #38786263
VaneS Ri_lax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicztable.getTableHeader().setReorderingAllowed(false)
редактирование задаётся в TableModel.isCellEditable()

Перетаскивание столбцов запретил, но вот не пойму как запретить редактирование ячеек при 2-м клике...
...
Рейтинг: 0 / 0
Настройка jTable1
    #38786294
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VaneS Ri_laxBlazkowicztable.getTableHeader().setReorderingAllowed(false)
редактирование задаётся в TableModel.isCellEditable()

Перетаскивание столбцов запретил, но вот не пойму как запретить редактирование ячеек при 2-м клике...
Разберитесь что такое TableModel\DefaultTableModel, как наследоваться от этих классов и как переопределять методы. Научитесь читать исходный код Swing. Без этого понять многие тонкости не просто.
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/javax/swing/table/DefaultTableModel.java#DefaultTableModel.isCellEditable(int,int)
...
Рейтинг: 0 / 0
Настройка jTable1
    #38786344
Santex78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VaneS Ri_laxЗдравствуйте подскажите пожалуйста как у таблицы запретить ввод данных по двойному клику по ячейке и как запретить перетаскивание столбцов?

Тут быстрого ответа нет, любой подобный вопрос в Java является философским :-). В зависимости от того каким образом создана таблица решение может (а чаще всего и должно) быть разным. Чтобы понимать о чем я говорю, рекомендую хорошую книжку на русском по Swing: И.A. Портянкин. Библиотека Программиста. Swing: Эффективные пользовательские интерфейсы.

Если у вас нет необходимости (или желания :)) разбираться со swing целиком, рекомендую кинуть сюда исходники.
...
Рейтинг: 0 / 0
Настройка jTable1
    #38786366
VaneS Ri_lax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишу программу в NetBeans IDE, там форма создается автоматически
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
 private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jSpinner1 = new javax.swing.JSpinner();
        jButton1 = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Настройка программы");
        setResizable(false);

        jLabel1.setText("Серверов");

        jButton1.setText("Добавить");

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null}
            },
            new String [] {
                "Имя сервера", "Адрес сервера", "Логин", "Пароль"
            }
        ));
        jScrollPane1.setViewportView(jTable1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jSpinner1, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton1)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 468, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(jSpinner1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 364, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        pack();
        setLocationRelativeTo(null);
    }
 private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JSpinner jSpinner1;
    private javax.swing.JTable jTable1;


Эта метод создания формы, вызывается в конструкторе. Не могу разобраться как заполнить данными таблицу и как запретить редактирование ячеек...
...
Рейтинг: 0 / 0
Настройка jTable1
    #38786395
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VaneS Ri_laxЭта метод создания формы, вызывается в конструкторе. Не могу разобраться как заполнить данными таблицу и как запретить редактирование ячеек...
Написал же вам. Изучайте TableModel и читайте исходники.

jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {//Изучаем другие конструкторы класса DefaultTableModel в JavaDoc
{new Object[]{"данные", "данные", "данные", "данные", }, null, null, null}
},
new String [] {
"Имя сервера", "Адрес сервера", "Логин", "Пароль"
}
){

@Override
public boolean isCellEditable(int row, int column) {
return false; //Отключаем редактирование на уровне модели.
}

});

И заведите привычку давать переменным внятные имена, а не те что вам WYSIWYG предложил.
...
Рейтинг: 0 / 0
Настройка jTable1
    #38786399
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Ну, что ты за лузер, блин:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
jTable1.setModel(new javax.swing.table.DefaultTableModel(
        new Object [][] {//Изучаем другие конструкторы класса DefaultTableModel в JavaDoc
            {new Object[]{"данные", "данные", "данные", "данные", }, null, null, null}
        },
        new String [] {
            "Имя сервера", "Адрес сервера", "Логин", "Пароль"
        }
    ){
    @Override
    public boolean isCellEditable(int row, int column) {
        return false; //Отключаем редактирование на уровне модели.
    }
});
...
Рейтинг: 0 / 0
Настройка jTable1
    #38786411
Santex78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или так:
Код: java
1.
jTable1.setDefaultEditor(Object.class, null);
...
Рейтинг: 0 / 0
Настройка jTable1
    #38786442
Santex78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczBlazkowicz,
Ну, что ты за лузер, блин:


Предлагаю не переходить на личности, кстати случайно вы написали сами себе :D.

С первым комментарием не согласен, конструктор ничем не хуже чем все остальные. Можно при чтении кода даже не заморачиваться на модель, если воспользоваться конструктором самой JTable с этими же аргументами. Зачем писать много кода если можно написать меньше :).
...
Рейтинг: 0 / 0
Настройка jTable1
    #38786449
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Santex78Предлагаю не переходить на личности

Предлагаю не указывать мне как общаться с самим собой. Лузер - от слова lose - терять. Потерял тэг, значит лузер.

Santex78, кстати случайно вы написали сами себе :D.
Кстати, вы случайно подумали, что я случайно написал себе.

Santex78С первым комментарием не согласен, конструктор ничем не хуже чем все остальные. Можно при чтении кода даже не заморачиваться на модель, если воспользоваться конструктором самой JTable с этими же аргументами. Зачем писать много кода если можно написать меньше :).
Затем что хороший код легко читается и модифицируется. Вариант с многомерными массивами объектов не читается совершенно. И модифицируется не так просто.
...
Рейтинг: 0 / 0
Настройка jTable1
    #38786501
VaneS Ri_lax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Воу воу, ребята узбогойтесь... Я не спец в Java, я просто в поисках самого простого примера как заполнить данными таблицу.
...
Рейтинг: 0 / 0
Настройка jTable1
    #38786503
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VaneS Ri_laxВоу воу, ребята узбогойтесь... Я не спец в Java, я просто в поисках самого простого примера как заполнить данными таблицу.
http://docs.oracle.com/javase/tutorial/uiswing/components/table.html
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Настройка jTable1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]