Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Глюк или я чегото не понимаю??? / 20 сообщений из 20, страница 1 из 1
10.01.2006, 16:24
    #33474698
Gold Fish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк или я чегото не понимаю???
Есть форма с JDesktopPane.
Если я делаю getContentPane().add(<JInternalFrame>); то интернал фрейм отображается, а если JDesktopPane.add(<JInternalFrame>); то интернал фрейм не отображается хотя и ошибки никакой не выдает.
...
Рейтинг: 0 / 0
10.01.2006, 16:54
    #33474793
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк или я чегото не понимаю???
JDesktopPane - это объект. Поверхность для рисования в нем получается методом getContentPane(). Ошибку Java не выдает, ибо все замечательно добавилось, но только не в содержимое окна а... я в общем-то и не знаю, куда :-)
...
Рейтинг: 0 / 0
10.01.2006, 16:57
    #33474804
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк или я чегото не понимаю???
Кстати, а сам JDesktopPane куда-нибудь добавлен?
...
Рейтинг: 0 / 0
10.01.2006, 17:01
    #33474812
Gold Fish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк или я чегото не понимаю???
Да на JFrame
...
Рейтинг: 0 / 0
10.01.2006, 17:06
    #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
10.01.2006, 17:11
    #33474841
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк или я чегото не понимаю???
Кувалдин РоманJDesktopPane - это объект. Поверхность для рисования в нем получается методом getContentPane(). Ошибку Java не выдает, ибо все замечательно добавилось, но только не в содержимое окна а... я в общем-то и не знаю, куда :-)

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

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

Тогда где-то собака порылась, ибо данный класс у меня работал 100%.
JDK 1.4, JBuilder 2005.
...
Рейтинг: 0 / 0
11.01.2006, 15:40
    #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
11.01.2006, 16:05
    #33476909
KPIIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк или я чегото не понимаю???
А в какой слой добавляешь??? В DesktopPane несколько слоев, это раз. Потом setVisible(true) делаешь? только сегодня положил пример...
http://sql.ru/forum/actualthread.aspx?tid=249892
...
Рейтинг: 0 / 0
11.01.2006, 16:13
    #33476936
Gold Fish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк или я чегото не понимаю???
В нулевой. SetVisible(true) делаю
...
Рейтинг: 0 / 0
11.01.2006, 16:16
    #33476944
KPIIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк или я чегото не понимаю???
getContentPane().setLayout(null);
........
getContentPane().add(desktop);

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

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

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

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


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