powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Глюк или я чегото не понимаю???
20 сообщений из 20, страница 1 из 1
Глюк или я чегото не понимаю???
    #33474698
Gold Fish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть форма с JDesktopPane.
Если я делаю getContentPane().add(<JInternalFrame>); то интернал фрейм отображается, а если JDesktopPane.add(<JInternalFrame>); то интернал фрейм не отображается хотя и ошибки никакой не выдает.
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33474793
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDesktopPane - это объект. Поверхность для рисования в нем получается методом getContentPane(). Ошибку Java не выдает, ибо все замечательно добавилось, но только не в содержимое окна а... я в общем-то и не знаю, куда :-)
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33474804
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, а сам JDesktopPane куда-нибудь добавлен?
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33474812
Gold Fish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да на JFrame
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33474830
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот это - работает:

Код: plaintext
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.
 package  com.mine;

 import  java.awt.*;
 import  javax.swing.*;

 public   class  Frame1  extends  JFrame
{
     private  JDesktopPane desktop =  new  JDesktopPane();
     private  JInternalFrame if1 =  new  JInternalFrame("INT_FRAME_1");
     private  JInternalFrame if2 =  new  JInternalFrame("INT_FRAME_2");

     public  Frame1()
    {
         try 
        {
            jbInit();
        }
         catch (Exception exception)
        {
            exception.printStackTrace();
        }
    }

     private   void  jbInit()  throws  Exception
    {
        if1.setSize( 100 ,  100 );
        if1.add( new  JButton("BTN1"));
        if2.setSize( 150 ,  150 );
        if2.setLocation( 0 ,  110 );
        if2.add( new  JButton("BTN2"));
        getContentPane().setLayout( null );
        desktop.setSize( 300 ,  300 );
        desktop.add(if1);
        desktop.add(if2);
        if1.setVisible(true);
        if2.setVisible(true);
        getContentPane().add(desktop);
        setSize( 400 ,  300 );
        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

     public   static   void  main(String[] args)
    {
         new  Frame1();
    }
}


...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33474841
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кувалдин РоманJDesktopPane - это объект. Поверхность для рисования в нем получается методом getContentPane(). Ошибку Java не выдает, ибо все замечательно добавилось, но только не в содержимое окна а... я в общем-то и не знаю, куда :-)

про getContentPane() - я неправ, там такого метода нет :-(

"Забыл... Все забыл..." (с) не_помню_кто
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33475872
Gold Fish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну дык я так и делаю
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33476769
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gold FishНу дык я так и делаю

Тогда где-то собака порылась, ибо данный класс у меня работал 100%.
JDK 1.4, JBuilder 2005.
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33476833
Gold Fish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня это имеет следующий вид
Код: plaintext
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.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
 import  com.sun.jmx.snmp.ThreadContext;
 import  java.io.*;
 import  java.sql.*;
 import  uakievhrm.*;
 import  javax.swing.*;
 import  java.lang.*;
 import  javax.naming.*;
 import  org.postgresql.ds.*;
 import  java.util.*;
 import  java.lang.reflect.*;

/**
 *
 * @author  yr
 */
 public   class  MainWindow  extends  javax.swing.JFrame {
     static  Connection conn =  null ;
    sqlClassLoader sql =  null ;
     int  ind =  1 ;
    
    /** Creates new form MainWindow */
     public  MainWindow() {
        initComponents();
       try {
         Class .forName("org.postgresql.Driver");
      } catch  (ClassNotFoundException e) {
        e.printStackTrace();
      }
        sql =  new  sqlClassLoader( null );
        
       
    }
    
     private   void  initComponents() {
        jDesktopPane1 =  new  javax.swing.JDesktopPane();
        connectInternalFrame1 =  new  uakievhrm.ConnectInternalFrame();
        jButton1 =  new  javax.swing.JButton();
        jButton2 =  new  javax.swing.JButton();
        hostText =  new  javax.swing.JTextField();
        userText =  new  javax.swing.JTextField();
        portText =  new  javax.swing.JTextField();
        passwordText =  new  javax.swing.JPasswordField();
        jLabel1 =  new  javax.swing.JLabel();
        jLabel2 =  new  javax.swing.JLabel();
        jLabel3 =  new  javax.swing.JLabel();
        jLabel4 =  new  javax.swing.JLabel();
        dbText =  new  javax.swing.JTextField();
        jLabel5 =  new  javax.swing.JLabel();
        jMenuBar1 =  new  javax.swing.JMenuBar();
        jMenu1 =  new  javax.swing.JMenu();
        jMenuItem1 =  new  javax.swing.JMenuItem();
        jMenu2 =  new  javax.swing.JMenu();

        getContentPane().setLayout( null );

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setCursor( new  java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        setForeground(java.awt.Color.white);
        setLocationByPlatform(true);
        getContentPane().add(jDesktopPane1);
        jDesktopPane1.setBounds( 160 ,  120 ,  0 ,  0 );

        connectInternalFrame1.getContentPane().setLayout( null );

        connectInternalFrame1.setVisible(true);
        jButton1.setText("Connect");
        jButton1.addActionListener( new  java.awt.event.ActionListener() {
             public   void  actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        connectInternalFrame1.getContentPane().add(jButton1);
        jButton1.setBounds( 40 ,  180 ,  100 ,  23 );

        jButton2.setText("Cancel");
        jButton2.addActionListener( new  java.awt.event.ActionListener() {
             public   void  actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        connectInternalFrame1.getContentPane().add(jButton2);
        jButton2.setBounds( 200 ,  180 ,  100 ,  23 );

        hostText.addActionListener( new  java.awt.event.ActionListener() {
             public   void  actionPerformed(java.awt.event.ActionEvent evt) {
                hostTextActionPerformed(evt);
            }
        });

        connectInternalFrame1.getContentPane().add(hostText);
        hostText.setBounds( 100 ,  50 ,  120 ,  20 );

        userText.addActionListener( new  java.awt.event.ActionListener() {
             public   void  actionPerformed(java.awt.event.ActionEvent evt) {
                userTextActionPerformed(evt);
            }
        });

        connectInternalFrame1.getContentPane().add(userText);
        userText.setBounds( 100 ,  110 ,  120 ,  20 );

        portText.setText("5432");
        portText.addActionListener( new  java.awt.event.ActionListener() {
             public   void  actionPerformed(java.awt.event.ActionEvent evt) {
                portTextActionPerformed(evt);
            }
        });

        connectInternalFrame1.getContentPane().add(portText);
        portText.setBounds( 270 ,  50 ,  30 ,  20 );

        connectInternalFrame1.getContentPane().add(passwordText);
        passwordText.setBounds( 100 ,  140 ,  120 ,  18 );

        jLabel1.setText("Host");
        connectInternalFrame1.getContentPane().add(jLabel1);
        jLabel1.setBounds( 42 ,  50 ,  60 ,  14 );

        jLabel2.setText("Port");
        connectInternalFrame1.getContentPane().add(jLabel2);
        jLabel2.setBounds( 240 ,  50 ,  30 ,  14 );

        jLabel3.setText("User");
        connectInternalFrame1.getContentPane().add(jLabel3);
        jLabel3.setBounds( 40 ,  110 ,  60 ,  14 );

        jLabel4.setText("Password");
        connectInternalFrame1.getContentPane().add(jLabel4);
        jLabel4.setBounds( 40 ,  140 ,  60 ,  14 );

        connectInternalFrame1.getContentPane().add(dbText);
        dbText.setBounds( 100 ,  80 ,  120 ,  20 );

        jLabel5.setText("Data Base");
        connectInternalFrame1.getContentPane().add(jLabel5);
        jLabel5.setBounds( 40 ,  80 ,  60 ,  14 );

        getContentPane().add(connectInternalFrame1);
        connectInternalFrame1.setBounds( 20 ,  20 ,  350 ,  240 );

        jMenu1.setText("File");
        jMenuItem1.setText("Connect");
        jMenuItem1.addActionListener( new  java.awt.event.ActionListener() {
             public   void  actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });

        jMenu1.add(jMenuItem1);

        jMenuBar1.add(jMenu1);

        jMenu2.setText("Edit");
        jMenuBar1.add(jMenu2);

        setJMenuBar(jMenuBar1);

        pack();
    }
     private  ConnectInternalFrame connectInternalFrame1;
     private  javax.swing.JTextField dbText;
     private  javax.swing.JTextField hostText;
     private  javax.swing.JButton jButton1;
     private  javax.swing.JButton jButton2;
     private  javax.swing.JDesktopPane jDesktopPane1;
     private  javax.swing.JLabel jLabel1;
     private  javax.swing.JLabel jLabel2;
     private  javax.swing.JLabel jLabel3;
     private  javax.swing.JLabel jLabel4;
     private  javax.swing.JLabel jLabel5;
     private  javax.swing.JMenu jMenu1;
     private  javax.swing.JMenu jMenu2;
     private  javax.swing.JMenuBar jMenuBar1;
     private  javax.swing.JMenuItem jMenuItem1;
     private  javax.swing.JPasswordField passwordText;
     private  javax.swing.JTextField portText;
     private  javax.swing.JTextField userText;
}

В таком виде работает нормально. Но если я заменяю
getContentPane().add(connectInternalFrame1);
на
jDesktopPane1.add(connectInternalFrame1);

то connectInternalFrame1 не отображается

это все в Sun Java Studio Enterprise JDK 1.5
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33476909
KPIIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в какой слой добавляешь??? В DesktopPane несколько слоев, это раз. Потом setVisible(true) делаешь? только сегодня положил пример...
http://sql.ru/forum/actualthread.aspx?tid=249892
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33476936
Gold Fish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В нулевой. SetVisible(true) делаю
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33476944
KPIIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
getContentPane().setLayout(null);
........
getContentPane().add(desktop);

Не знаю что сказать - зачем убивать в Jframe BorderLayout? он там ставится по умолчанию
поэтому когда добавляешь в ContentPane чего то без параметра: add(Component), он автоматом становится в CENTER. Вообще панель without layout - bad practice...
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33477053
Gold Fish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не думаю что проблема в Layout. А какой посоветуешь с абсолютным позиционированием.
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33477059
KPIIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем тебе абсолютное позиционирование?
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33477075
KPIIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я просто не пользуюсь абсолютным никогда, поэтому удивляюсь, держи ссылку на то что может пригодиться
https://transparentlayout.dev.java.net/
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33477424
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если вместо pack написать setVisible(true)?
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33477429
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного переписал код, чтобы он компилировался, а то ты навырезал там... с корнями...
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33477431
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вот скриншот:

все вроде работает
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33477443
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь за предыдущие посты - ступил.

Добавь в код следующие строки:

getContentPane().setLayout(new BorderLayout());
getContentPane().add(jDesktopPane1, BorderLayout.CENTER);
...
Рейтинг: 0 / 0
Глюк или я чегото не понимаю???
    #33483940
Gold Fish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сенкс! Действительно дело оказалось в Layout. И нормально начали выводится на передний план!!!
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Глюк или я чегото не понимаю???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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