powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по наследованию от JInternalFrame
25 сообщений из 32, страница 1 из 2
вопрос по наследованию от JInternalFrame
    #34606358
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На основе JInternalFrame я создаю свой класс (скажем ClassForm)
на формочку кидаю jTable и еще чегонить
Потом хочу создать на основе ClassForm уже рабочую форму
public class BrowseData extends ClassForm
..
..

Но на созданной форме jTable и других компонентов нету...
Чего не так ?
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34606611
Фотография hinotf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо бы код увидеть - хотя бы значимые его части. А то предполоджить можно что угодно, например, что Вы не из конструктора, а из метода main добавляете на родительский фрейм таблицы и прочее.

Nai tiruvantel ar varyuvantel i Valar tieyanna nu vilya
Aiya Eärendil Elenion Ancalima!
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34606616
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
метод в котором происходит "накидывание" вызывается?

наследование в gui дизайнерах - полнейший бред. ознакомтесь лучше с building ом напр как на jgoodies советуют
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34606837
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exppметод в котором происходит "накидывание" вызывается?

наследование в gui дизайнерах - полнейший бред. ознакомтесь лучше с building ом напр как на jgoodies советуют

Т.е. GUI-дизайнеров нету нормальных или что ?
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34606875
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стоп, а при чем тут вообще GUI ?

Создаю базовый класс (точнее код генерит NetBeans)

public class BaseClass extends javax.swing.JInternalFrame
{

/** Creates new form BaseClass */
public BaseClass()
{
initComponents();
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents()
{

jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();

jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][]
{
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String []
{
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
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(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 379, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 281, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

pack();
}// </editor-fold>


// Variables declaration - do not modify
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration

Создаю на его основе свою форму

public class WorkForm extends BaseClass
{

/** Creates new form WorkForm */
public WorkForm()
{
initComponents();
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents()
{

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 394, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 274, Short.MAX_VALUE)
);

pack();
}// </editor-fold>


// Variables declaration - do not modify
// End of variables declaration

}


}

Что - то еще надо сделать ? Я jTable ни в GUI не вижу, ни в RunTime
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34606916
Фотография hinotf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нечитаемо абсолютно.

Nai tiruvantel ar varyuvantel i Valar tieyanna nu vilya
Aiya Eärendil Elenion Ancalima!
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34606976
Anarion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читаем про наследование...
1. Метод initComponents() - private. Как ты его вызовешь из дочки?
2. Метод initComponents() в дочке нигде не вызывается.

Сделай оба метода protected и из метода дочки сначала вызывай метод родителя.
Код не читал, как эта хрень взлетит неизвестно.
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34606985
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegov , у вас метод InitComponents предка в потомке нигде не вызывается. Какую JTable вы еще хотите увидеть???
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34607000
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще разок

//Создаю вой (базовый) класс от
public class BaseClass extends javax.swing.JInternalFrame
{
public BaseClass()
{
initComponents();
}

// Этот метод нерерит NetBeans (описание элементов формы)
private void initComponents()
{
jScrollPane1 = new javax.swing.JScrollPane(); // Кидает панель прокрутки для таблицы
jTable1 = new javax.swing.JTable(); // Кидает таблицу

// Описывает модель таблицы (тупую по умолчанию, в данном случае не важно)
jTable1.setModel(new javax.swing.table.DefaultTableModel(new Object [][]
{
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String []
{
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
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(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 379,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 281,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

pack();
}
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
}


Создаю на его основе свою форму

public class WorkForm extends BaseClass
{
public WorkForm()
{
initComponents();
}

private void initComponents()
{
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 394, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 274, Short.MAX_VALUE)
);
pack();
}
}

так вроде читабельнее
Не пойму как тут отступы проставить. При наборе нормально, при просмотре левых отступов нет
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34607017
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnarionЧитаем про наследование...
1. Метод initComponents() - private. Как ты его вызовешь из дочки?
2. Метод initComponents() в дочке нигде не вызывается.

Сделай оба метода protected и из метода дочки сначала вызывай метод родителя.
Код не читал, как эта хрень взлетит неизвестно.

Дык InitComponents NetBeans генерит сам и править его не дает (в числе и private на protected)
Елы палы, действительно базовые классы проще руками писать с таким раскладом.
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34607186
Фотография hinotf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegov Еще разок

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

тэг SRC есть для кода
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34607219
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точно не знаю как GroupLayout работает (не пользовался им никогда), но предположение такое что в своем потомке устанавливаешь новый Layout и все старые компоненты у тебя пропадают

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
     private   void  initComponents() {

        javax.swing.GroupLayout layout =  new  javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGap( 0 ,  394 ,  Short .MAX_VALUE)
        );
        layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGap( 0 ,  274 ,  Short .MAX_VALUE)
        );
    }
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34607264
Anarion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, да. У тебя компоненты или перекроют друг друга или будет что-то одно. Такие вещи лучше писать руками.
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34607395
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vas0точно не знаю как GroupLayout работает (не пользовался им никогда), но предположение такое что в своем потомке устанавливаешь новый Layout и все старые компоненты у тебя пропадают

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
     private   void  initComponents() {

        javax.swing.GroupLayout layout =  new  javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGap( 0 ,  394 ,  Short .MAX_VALUE)
        );
        layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGap( 0 ,  274 ,  Short .MAX_VALUE)
        );
    }


точно, сабака тут порылась. Если в своей рабочей форме я комментрию initComponents();
то в RunTime все ok. Правда в дизайнере так ничего и не видно. Туда как раз NetBeans из метода initComponents() все и дергает.
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34608897
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И как тут быть теперь. ОТказаться от GUI ? Это бред. Проектик не кислый намечается. Руками его сто лет кодить придется. В NetBeans может есть механизм какой то ?
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34608919
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не а. нормального gui дизайнера не видел. прочитайте про building или всякие xml билдеры свинговых форм посмотрите

мануальный гуй сильно повышает качество архитектуры. (если не копипастить)
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34609018
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Среднехиленькая бухгалтерская программка аля 1С Бухгалтерия 7.7 насчитывает под сотню форм просмотра/ввода данных. В нашей торговой программке сейчас около 270 с хвостиком форм. 80% форм строятся на основе 2-4 базовых классов, но практически каждая имеет массу своих наворотов, которые не визуально задолбаешься наворачивать. Раскидать кнопки и контролы как нипопади лишь бы они были ? Кто такое чудище купит ?
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34609613
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сколько не смотрел формостроителей - лучший у жбилдера. Все эти формочки одна от другой наследуемые прекрасно в нём отображаются. У нетбинса конечно хороший редактор форм но пользоваться им невозможно
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34609740
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegovСреднехиленькая бухгалтерская программка аля 1С Бухгалтерия 7.7 насчитывает под сотню форм просмотра/ввода данных. В нашей торговой программке сейчас около 270 с хвостиком форм. 80% форм строятся на основе 2-4 базовых классов, но практически каждая имеет массу своих наворотов, которые не визуально задолбаешься наворачивать. Раскидать кнопки и контролы как нипопади лишь бы они были ? Кто такое чудище купит ?

я могу тока повториться ...oop-pattern'ы спасут отца русской демократии.
единственное во что я верю это во всякие Swing XML, или F3 там всякие ... только слишком много их развелось, выбрать наверное трудно
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34610210
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
патерны-шматерны. Рисовать мышкой удобней чем код сразу писать
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34610338
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024патерны-шматерны. Рисовать мышкой удобней чем код сразу писать

продуманный гуёвый минифрэймворкчег позволяюши писать типа сделайФорму из этого и этого, прицепи к этому рвёт в клочья гуйдизайнерский копипаст
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34610544
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
8)

можно где-то примеры увидеть?
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34610842
olegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
expp
продуманный гуёвый минифрэймворкчег позволяюши писать типа сделайФорму из этого и этого, прицепи к этому рвёт в клочья гуйдизайнерский копипаст

Эт чегой то такое "гуйдизайнерский копипаст" ? Как раз если нормальный ГУИ то никакого копи/паста не нужно. Создал один раз универсальный класс формы с табличкой и кнопками, а потом наследуй от нее, да привешивай картиночки да кнопочки специфические.
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34610907
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ок. на каждой форме в табличке должны быть разные колонки?

и как ?
...
Рейтинг: 0 / 0
вопрос по наследованию от JInternalFrame
    #34610996
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что как? Не заешь? Задай вопрос. В жбилдере кстати в редакторе всё будет прекрасно видно
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по наследованию от JInternalFrame
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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