[java] JInternalFrame (wat doe ik fout)

Pagina: 1
Acties:

  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 23:15
Ik ben hier al een tijdje mee bezig maar ik kom er niet meer uit.

ik heb het volgende
code:
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
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;    

public class TextPanel {
    public static void main(String[] args) {
      JFrame frame = new JFrame("TestProg");

        JInternalFrame loginscreen = new JInternalFrame("Login",false,true,false);
        
        JPanel panel = new JPanel();
        panel.setLayout(new GridLayout(2,2,2,2));

        final JTextField textfield = new JTextField(5);
      final JLabel label = new JLabel("username");
        final JTextField textfield2 = new JTextField(5);
        final JLabel label2 = new JLabel("password");
        
        loginscreen.getContentPane().add(panel, BorderLayout.CENTER);

        panel.add(label);
        panel.add(textfield);
        panel.add(label2);
        panel.add(textfield2);

        frame.getContentPane().add(loginscreen, BorderLayout.CENTER);

        loginscreen.setSize(300,300);
        loginscreen.show();

        frame.setSize(400, 400);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.show();
    }
}

het internal frame opent maar hij neemt de size niet aan en als ik het proggie maximaliseer dan scaled me internal frame mee en dat wil ik dus niet

weet iemand wat ik fout doe :?

PSN jschut_82 | Xbox: JSchut82


  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 20:51
uhm de docs niet goed gelezen? :+

JInternalFrame's moeten op een javax.swing.JDesktopPane worden geplaatst. Die DekstopPane kun je vervolgens weer aan je JFrame adden. zie ook: http://java.sun.com/docs/books/tutorial/uiswing/components/internalframe.html

  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 23:15
dat is juist het probleem dat heb ik al geprobeerd en als ik dat doe dan krijg ik hem helemaal niet meer in me beeld

PSN jschut_82 | Xbox: JSchut82


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Je moet apparte klassen maken, want dit is echt waardeloos. Ik kan bijna niet zien wat hier gebeurt, dus je moet echt ff nieuwe objecten aanmaken. En zoals Jelmer zei moet je gebruik maken van een JDesktopPane waarin je die JInternalFrame gaat plaatsen.

  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 20:51
hmm vreemd. Ik heb het volgende stuk werkend met jdk 1.4:
code:
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
import javax.swing.*;

class MyFrame extends JFrame
{
    public static void main(String args[])
    {
        MyFrame mf=new MyFrame();

    }

    MyFrame()
    {
        setSize(600,510);
        JDesktopPane desktop=new JDesktopPane();
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setContentPane(desktop);

        JInternalFrame jIF= new JInternalFrame();
        jIF.setSize(100,100);
        jIF.setVisible(true);
        desktop.add(jIF);

        show();
    }
}
}

Vervolgens moet je gewoon aan desktop je frames toevoegen. Werkt prima bij mij.


[edit] ff het voorbeeld uitgewerkt.