Панель Netbeans JCalendar

Этот код внутри формы JFrame, созданной в netbeans, отлично работает, поскольку я пытаюсь поместить JCalendar в панель, которую я создаю вручную.

JCalendar myCalendar =new JCalendar();
JPanel customPanel = new JPanel();
customPanel.setSize(400, 250);
customPanel.setBorder(new LineBorder(Color.BLACK));
customPanel.add(myCalendar);
this.add(customPanel);

Однако, если я создам панель в netbeans с помощью визуального построителя графического интерфейса (matisse), а затем использую этот код

JCalendar calendar2 =new JCalendar();
netbeansPanel.setSize(400, 250);
netbeansPanel.add(calendar2);

JCalendar не виден>Есть идеи?
Спасибо.


person Argiropoulos Stavros    schedule 06.05.2010    source источник


Ответы (1)


Провел небольшое исследование и нашел решение :)

Фактически, когда вы добавляете компоненты через Netbeans GUI Builder, это добавляет компоненты в GroupLayout, и мы должны добавить такие компоненты, как это (эта идея получена из кода, сгенерированного netbeans).

        JCalendar cal = new JCalendar();
        javax.swing.GroupLayout gl = (javax.swing.GroupLayout)jPanel1.getLayout();
        jPanel1.setSize(400, 250);
        gl.setHorizontalGroup(gl.createParallelGroup().addGroup(gl.createSequentialGroup().addComponent(cal)));
        gl.setVerticalGroup(gl.createParallelGroup().addGroup(gl.createSequentialGroup().addComponent(cal)));

Удачи.

person Ravindra Gullapalli    schedule 19.05.2010