Toon posts:

[Java] JDeskTopPane en Icoontjes?

Pagina: 1
Acties:

Verwijderd

Topicstarter
In de JavaDoc staat dat het mogelijk is om een JInternalFrame te iconifyen...

Betekent dit dat je een venstertje kunt iconifyen zoals in Windows 3.11 ?
De bedoeling was om een aantal desktop icons te tonen op de desktop pane en als er op geklikt wordt, dat ze het frame tonen en ook terug naar een icoon gereduceert kunnen worden.

Is dit mogelijk of begrijp ik het verkeerd?

Als ik het programmaatje start krijg ik dit te zien:

Afbeeldingslocatie: http://users.skynet.be/bs978384/TWEAKERS/normal.jpg


Je kan dat maximizen, minimize en resizen:

Afbeeldingslocatie: http://users.skynet.be/bs978384/TWEAKERS/minimized.jpg


Hoe iconify je nu? Is er een speciale layout voor nodig op de desktop pane?

Code van de constructor:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public gui() {
        super("Desktop");
        // Desktop
        desktop = new JDesktopPane();
        desktop.setDragMode(1);
        
        // Configuration Desktop Frame
        config_frame = new JInternalFrame("Configuration", resizable, closeable, maximizable, iconifiable);
        config_frame.setSize(320,200);
        config_frame.setVisible(true);
        desktop.add(config_frame);      
        
        this.getContentPane().add(desktop);
        this.setSize(640,480);
        this.setVisible(true);                  
    }

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

Alarmnummer

-= Tja =-

Die laatste is trouwens de ge-iconifyde versie

[edit]
en hoe ziet het er trouwens uit als je de windows look and feel aanzet?

vb.
String lookAndFeel = UIManager.getSystemLookAndFeelClassName();
UIManager.setLookAndFeel(lookAndFeel);

Ik ben namelijk wel beniewd hoe de windows look and feel omgaat met zo`n niet standaard windows look and feel van windows xp zelf. Je moet hier wel jdk1.4.2 voor hebben, lagere versies ondersteunen geen windows xp look and feel.

[ Voor 84% gewijzigd door Alarmnummer op 23-07-2003 13:04 ]


Verwijderd

Topicstarter
Oei... is er dus geen manier om een echt icoon te zien in plaats van het balkje?
Dat is eigenlijk een beetje spijtig :-/

Zoals gevraagd de Windows XP Look & Feel:

Afbeeldingslocatie: http://users.skynet.be/bs978384/TWEAKERS/winxplf.jpg

code:
1
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());


PS: Hoe hebben die mensen van OpenCMS dat iconen gedoe dan gemaakt? Zal wel een avondje source code lezen worden ;)

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

Alarmnummer

-= Tja =-

Heb je er een screenshot van? En er valt natuurlijk van alles aan componenten te sleutelen, ik ben zelf ook bezig met de JDesktopPane

Afbeeldingslocatie: http://home.wanadoo.nl/gijsjan/Pics/shot1.jpg

in topic: [rml][ java] border removen JSplitPane[/rml]

Ik ben trouwens blij om te zien dat Swing toch heel fraai deze niet standaard xp look and feel overneemt. Ik had begrepen dat alleen de standaard xp themes werden ondersteund en dit is toch zeker geen standaard theme.

[ Voor 31% gewijzigd door Alarmnummer op 23-07-2003 13:28 ]


Verwijderd

Topicstarter
OpenCMS bestaat blijkbaar uit een hoop JSP pagina's en wat applets.

Afbeeldingslocatie: http://www.opencms.org/export/pics/opencms/ocms_view_bo.gif

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

Alarmnummer

-= Tja =-

Misschien dat je hier iets mee kan:
http://forum.java.sun.com...sp?forum=31&thread=348822

bij deze class moet je dus zijn:
javax.swing.JInternalFrame.JDesktopIcon

[ Voor 30% gewijzigd door Alarmnummer op 23-07-2003 13:32 ]


Verwijderd

Topicstarter
Dat is dat icoontje naast de frame title ^^
Heb ik al geprobeerd :)
Bedankt voor je hulp trouwens

Je helpen met het JSplitPane probleempje kan ik moeilijk. Ben namelijk niet echt een Java guru en wat ik er van weet, heb ik van school mee :p

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

Alarmnummer

-= Tja =-

De JDesktopIcon is de ge-iconifyde versie van de JInternalFrame:
http://java.sun.com/j2se/...alFrame.JDesktopIcon.html

Het is niet dat icoontje naast de titel :)

[ Voor 4% gewijzigd door Alarmnummer op 23-07-2003 13:41 ]


Verwijderd

Topicstarter
JDesktopIcon mag niet meer gebruikt worden in Java 1.4.2 volgens de docs omdat ie vervangen gaat worden door methods in de JInternalFrame class...

'k heb ondertussen een alternatief gezocht dat er nog deftig uitziet
Afbeeldingslocatie: http://users.skynet.be/bs978384/TWEAKERS/new.png

Photoshoppen voor de desktop background is voor het einde :p

  • Swinnio
  • Registratie: Maart 2001
  • Laatst online: 18-08 09:00
Verwijderd schreef op 23 July 2003 @ 18:50:
JDesktopIcon mag niet meer gebruikt worden in Java 1.4.2 volgens de docs omdat ie vervangen gaat worden door methods in de JInternalFrame class...

'k heb ondertussen een alternatief gezocht dat er nog deftig uitziet
[afbeelding]

Photoshoppen voor de desktop background is voor het einde :p
Hoe heb je dit nu gemaakt? Gewoon een afbeelding op de achtergrond en m.b.v. een mouse-event detecteren wanneer een frame geopend moet worden?

If the world wouldn't suck, we'd all fall off


Verwijderd

Topicstarter
Een JPanel met FlowLayout en JLabels met een image toevoegen en correct aligneren en Mouse-Events detecteren:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Site Configuration
        configLabel = new JLabel(new ImageIcon("resources/icons/site.png"));
        configLabel.setText("Site");
        configLabel.setHorizontalTextPosition(JLabel.CENTER);
        configLabel.setVerticalTextPosition(JLabel.BOTTOM);
        configLabel.setToolTipText("Site Configuration");
        configLabel.addMouseListener(new actionHandlerClass());
        iconPanel.add(configLabel);
        
        // Users Configuration
        userLabel = new JLabel(new ImageIcon("resources/icons/users.png"));
        userLabel.setText("Users");
        userLabel.setHorizontalTextPosition(JLabel.CENTER);
        userLabel.setVerticalTextPosition(JLabel.BOTTOM);
        userLabel.setToolTipText("User Management");
        userLabel.addMouseListener(new actionHandlerClass());
        iconPanel.add(userLabel);
Pagina: 1