Desktop auf nem Panel

Status
Nicht offen für weitere Antworten.

Der Programmierer

Aktives Mitglied
Hi leutz,

ich hatte vor ein paar Wochen mal ein kleines Problem mit nem Desktop hier. Das habt ihr ja gelöst (nochmal danke dafür). Ich hatte bis jetzt keine Zeit mehr weiter zu machen hab aber jetzt erneut ein ähnliches Problem.


Wenn ich meinen Desktop zum Fenster hinzufüge und dann ein InternalFrame aufrufe klappt alles wunderbar. Wenn ich denn desktop aber zu meinem Panel hinzufüge wird das InternalFrame allerdings nicht angezeigt (der Rest allerdings wird problemlos angezeigt):

Hier mein code:

Code:
//Fensterklasse definieren
public class desk extends JFrame
{

  ImageIcon tmp = new ImageIcon("gray.jpg");
  Image hintergrund = tmp.getImage();
  ImageIcon as = new ImageIcon("des.jpg");
  Image des =  as.getImage();
  top p; //"top" ist meine Panelklasse
  JDesktopPane desktop = new JDesktopPane();
  
  
  
  static void addDesignWindow( JDesktopPane desktop )
  {
    JInternalFrame iframe;
    iframe = new JInternalFrame( "Design",  // title
                                 true,                    // resizable
                                 true,                    // closeable
                                 true,                    // maximizable
                                 true );                  // iconifiable

    iframe.setBounds( 10, 10,
                      300,300 );

    iframe.setVisible( true );

    desktop.add( iframe );

  }
  
  

  public static void main(String[] args)
  {

    desk fenster = new desk("Virtual Desk"); //Fenster einrichten


    fenster.pack();
    fenster.setSize(800,600);

    fenster.setResizable(false);
    fenster.setVisible(true);
    System.out.println("");
    
  }




  desk(String titel)
  {
    super(titel);

    
    p=new top();
    p.setSize(800,600);
    
    add(p);
    addDesignWindow(desktop);
    p.add(desktop);
    desktop.setVisible(true);


    


    
    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

  }
    
 }

Es wäre nett wenn ihr mir wieder helfen würdet und jetzt schonmal vielen dank dafür
»Der Programmierer«
 

André Uhres

Top Contributor
Dein Code funktioniert bei mir.
Tipp: Klassennamen immer mit grossem Anfangsbuchstaben schreiben:
desk->Desk
top->Top
 

Der Programmierer

Aktives Mitglied
das mit den Klassennamen änder ich mal bei gelegenheit.

Ich glaub ich weiß jetzt warums nicht geht. Ich glaube mein InternalFrame wird laufend überzeichnet.
Ich poste mal meine Panelklasse top:

Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.LineNumberReader; 
import java.io.*;
import java.util.*;



//Fensterklasse definieren
public class desk extends JFrame
{

  ImageIcon tmp = new ImageIcon("gray.jpg");
  Image hintergrund = tmp.getImage();
  ImageIcon as = new ImageIcon("des.jpg");
  Image des =  as.getImage();
  top p; //"top" ist meine Panelklasse
  JDesktopPane desktop = new JDesktopPane();
  
  
  
  static void addDesignWindow( JDesktopPane desktop )
  {
    JInternalFrame iframe;
    iframe = new JInternalFrame( "Design",  // title
                                 true,                    // resizable
                                 true,                    // closeable
                                 true,                    // maximizable
                                 true );                  // iconifiable

    iframe.setBounds( 10, 10,
                      300,300 );

    iframe.setVisible( true );

    desktop.add( iframe );

  }
  
  

  public static void main(String[] args)
  {

    desk fenster = new desk("Virtual Desk"); //Fenster einrichten


    fenster.pack();
    fenster.setSize(800,600);

    fenster.setResizable(true);
    fenster.setVisible(true);
    System.out.println("");
    
  }




  desk(String titel)
  {
    super(titel);

    
    p=new top();
    p.setSize(800,600);
    
    add(p);
    addDesignWindow(desktop);
    desktop.setVisible(true);
    add(desktop);
    desktop.setVisible(true);
    p.setVisible(true);




    


    
    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

  }
  
  public class top extends JPanel
  {

       JDesktopPane desktop = new JDesktopPane();
       public void paintComponent(Graphics g)
       {
         super.paintComponent(g);
         
         if(hintergrund != null)
         {
           g.drawImage(hintergrund,0,0,this);
           g.drawImage(des        ,32,32,this);
         }
       }
       
       public Dimension getMinimumSize()
       {
         return this.getSize();
       }
       
       public Dimension getPreferredSize()
       {
        return getMinimumSize();
       }
  }



}

Weiß jemand wie ich das beheben kann.
Danke
 

André Uhres

Top Contributor
Code:
...
public class desk extends JFrame {
...
    desk(String titel) {
        super(titel);
        p=new top();
        add(p);
        addDesignWindow(desktop);
        p.add(desktop);//<-------------------------------------------
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
    public class top extends JPanel {
//        JDesktopPane desktop = new JDesktopPane();
        public top(){
            setLayout(new BorderLayout());//<----------------------------
        }
...
    }
}
Das Hintergrundbild wird aber nicht gezeichnet, da JDesktopPane undurchsichtig ist.
Du könntest eine eigene DesktopPaneUI setzen:
http://www.java-forum.org/de/userfiles/user3690/DesktopPaneUI_2.java
 

Der Programmierer

Aktives Mitglied
es ist ja eigentlich kein Problem dass der desktop nicht aufem Panel ist aber wenn ich ihn einfach dem Fenster hinzufüge dann hinterlässt das InternalFrame weiße Streifen wenn man es verschiebt. Kann man das irgendwie einfach beheben?
 

André Uhres

Top Contributor
Der Programmierer hat gesagt.:
..dann hinterlässt das InternalFrame weiße Streifen wenn man es verschiebt..
Kann ich nicht bestätigen. Funktioniert ohne Streifen bei mir.
Lade bitte den DesktopPaneUI_2 nochmal neu runter und überprüf deinen Code.
Wenn das Problem bestehen bleibt, dann poste bitte sämtlichen Code als neuen Beitrag oder PN.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Browser integriert in Desktop Applikation - Webcam interface not found Java Basics - Anfänger-Themen 26
B Robot auf virtuellem Desktop laufen lassen? Java Basics - Anfänger-Themen 4
D Verbesserungsvorschläge zur Struktur einer Client Server Desktop Chat App Java Basics - Anfänger-Themen 24
G Wie kann ich mein Quellcode als Programm vom desktop starten? Java Basics - Anfänger-Themen 1
D Ordner auf Desktop erstellen(Pc unabhängig) Java Basics - Anfänger-Themen 3
M Explorer oeffnen mittels java.awt.Desktop Java Basics - Anfänger-Themen 18
K Desktop. Java Basics - Anfänger-Themen 8
H Zugriff auf Desktop verhindern Java Basics - Anfänger-Themen 6
A Feststellen ob Desktop.print("*.pdf") fertig ist Java Basics - Anfänger-Themen 6
S jar File vom Desktop aus starten Ubuntu Java Basics - Anfänger-Themen 1
M Desktop App in Applet Java Basics - Anfänger-Themen 3
ElViZ Java App an Desktop "anheften"? Java Basics - Anfänger-Themen 8
M Auf Java (Desktop) Applikation mittels Webseite zugreifen Java Basics - Anfänger-Themen 6
M Statische und nicht-statische Funktionen: Desktop.browse(uri); Java Basics - Anfänger-Themen 4
hdi Mausposition auf Desktop ermitteln Java Basics - Anfänger-Themen 2
B Java Desktop Wecker problem Java Basics - Anfänger-Themen 3
hdi Desktop-Auflösung abfragen -> setLocation() von Frame Java Basics - Anfänger-Themen 5
T Desktop Anwendung Aufbau Java Basics - Anfänger-Themen 5
J Start mit .exe-Datei oder Desktop-Symbol möglich? Java Basics - Anfänger-Themen 12
A Desktop lauschen und beeinflussen Java Basics - Anfänger-Themen 5
M Frame zeigt Desktop als Hintergrund Java Basics - Anfänger-Themen 2
G Fenster auf Desktop pinnen? Java Basics - Anfänger-Themen 9
S Desktop Animation Java Basics - Anfänger-Themen 15
S File & Desktop Java Basics - Anfänger-Themen 3
Soloeco JList/DefaultListModel: Wie kann ich ein Panel hinzufügen? Java Basics - Anfänger-Themen 1
P Herausfinden, auf welchem Panel des CardLayouts man gerade ist? Java Basics - Anfänger-Themen 12
CptK Interface 2 von einander unabhängige Frames mit Panel gleichzeitig nutzen Java Basics - Anfänger-Themen 66
O Klappt nicht: Ein Panel neu zeichnen Java Basics - Anfänger-Themen 3
L Panel verkleinert sich unerklärlicherweise Java Basics - Anfänger-Themen 7
N Mehrere Forms auf einem Panel Java Basics - Anfänger-Themen 6
M Panel erstellen, welches ein Control erhält. Ausgabe soll über einen Stream erfolgen. Java Basics - Anfänger-Themen 0
J Panel auf Hintergrund Java Basics - Anfänger-Themen 5
J Panel und Menü Java Basics - Anfänger-Themen 6
S timer funktion mit javax panel Java Basics - Anfänger-Themen 3
D Hintergrund jpg auf Panel Java Basics - Anfänger-Themen 3
D Bild zum Panel hinzufügen Java Basics - Anfänger-Themen 8
A Frage zu einer Methode - Panel arbeitet nicht ordnungsgemäß Java Basics - Anfänger-Themen 2
F Neues Panel und Button unsichtbar Java Basics - Anfänger-Themen 10
D Panel sichtbar/unsichtbar machen im ActionListener Java Basics - Anfänger-Themen 3
S Image in Panel laden Java Basics - Anfänger-Themen 12
D Panel von unten herausfahren Java Basics - Anfänger-Themen 2
S mehrere Rechtecke in ein Panel Java Basics - Anfänger-Themen 2
L panel verschmiert beim draggen! Java Basics - Anfänger-Themen 2
J Panel + Label anzeigen - Ich kriege es nicht hin Java Basics - Anfänger-Themen 3
S Swing, Gridbaglayout Panel in Panel;funzt nicht!! Java Basics - Anfänger-Themen 3
S Swing, Panel über Hintergrundbild!! Java Basics - Anfänger-Themen 6
C Panel und Label überdecken sich Java Basics - Anfänger-Themen 2
J JLabels in Panel Aktualisieren Java Basics - Anfänger-Themen 5
H Panel in Variable setzen möglich? Java Basics - Anfänger-Themen 10
M Spezielles Panel fade in / out Java Basics - Anfänger-Themen 5
C Panel Hintergrundfarbe per AdjustmenListenmer ändern Java Basics - Anfänger-Themen 4
D GUI: Panel in Panel laden Java Basics - Anfänger-Themen 10
R Eingefärbtes Panel wird in Frame nicht angezeigt Java Basics - Anfänger-Themen 10
eLogic Panel hinzufügen Java Basics - Anfänger-Themen 4
Nic.o Panel während Ladevorgang einblenden Java Basics - Anfänger-Themen 12
B PacMan: Panel aktualisieren Java Basics - Anfänger-Themen 2
D Eingabe aus Dialog, Ergebnis an Panel Java Basics - Anfänger-Themen 2
Z JFileChooser/ Panel + Menüproblem Java Basics - Anfänger-Themen 3
J GridLayout auf Panel zentrieren? Java Basics - Anfänger-Themen 2
G Aus eigenem Panel dieses Löschen Java Basics - Anfänger-Themen 2
J Panel-übergreifende Kommunikation Java Basics - Anfänger-Themen 3
M Panel ersetzen funktioniert nicht Java Basics - Anfänger-Themen 2
M BorderLayout zickt! Ein Panel versteckt das andere! Java Basics - Anfänger-Themen 6
K Panel fixieren und nicht zentrieren Java Basics - Anfänger-Themen 2
F Zeichnen auf einem Panel Java Basics - Anfänger-Themen 2
N Panel entfernen Java Basics - Anfänger-Themen 2
B Zugriff auf JTextPane in einem anderen Panel Java Basics - Anfänger-Themen 2
H TabbedPane: wie schalte ich auf ein bestimmtes panel? Java Basics - Anfänger-Themen 2
G Bild in Panel oder canvas einfügen Java Basics - Anfänger-Themen 3
kulturfenster Panel in Frame integrieren Java Basics - Anfänger-Themen 5
H Paint Methode malt nicht im Panel Java Basics - Anfänger-Themen 4
J Probleme mit Visual Editor Komponenten auf Panel legen Java Basics - Anfänger-Themen 4
M Panel ausgrauen (disable) Java Basics - Anfänger-Themen 2
K Component vom einem Panel löschen ? Java Basics - Anfänger-Themen 14
C Panel wird nicht übermalt Java Basics - Anfänger-Themen 6
P Swing Textarae so groß wie Panel? Java Basics - Anfänger-Themen 2
G Rekursives aufrufen führt zu StackOverflowError Panel durchl Java Basics - Anfänger-Themen 5
T JMenuItems werden von Komponente in Panel verdeckt Java Basics - Anfänger-Themen 11
G Auf ein Panel malen Java Basics - Anfänger-Themen 16
D Event mit n-Button8s) von einem Panel Java Basics - Anfänger-Themen 9
Z Wie übergebe ich einer MyFrame-Klasse ein Panel? Java Basics - Anfänger-Themen 8
A g=panel.getGraphics() im Thread => Nullpointer Java Basics - Anfänger-Themen 9
S Bilder bleiben auf einem Panel nicht gezeichnet Java Basics - Anfänger-Themen 6
L Java Control Panel Java Basics - Anfänger-Themen 5
A Swing Schriftfarbe für komplettes Panel ändern Java Basics - Anfänger-Themen 2
G Panel Java Basics - Anfänger-Themen 4
B Kann man mit XMl ein Panel erstelln Java Basics - Anfänger-Themen 2
R Einfügen einer eigenen methode in ein Panel Java Basics - Anfänger-Themen 5
E Komponenten auf Panel positionieren Java Basics - Anfänger-Themen 3
G aus Thread auf Panel zeichnen Java Basics - Anfänger-Themen 22
G Text in Panel anordnen Java Basics - Anfänger-Themen 6
M Ein Panel in ein Panel laden Java Basics - Anfänger-Themen 3
S Graphic im Panel änder durch JSlider Java Basics - Anfänger-Themen 2
P Ball auf Panel hüpfen lassen Java Basics - Anfänger-Themen 4
T Panel entfernen Java Basics - Anfänger-Themen 4
T Panel entfernen, neues hinzufügen Java Basics - Anfänger-Themen 2
A Probleme mit Panel und GUI Java Basics - Anfänger-Themen 4
D Warum färbt er das unter Panel nicht ein? Java Basics - Anfänger-Themen 3
V Panel durchsichtig machen Java Basics - Anfänger-Themen 4
B Panel bei Mausklick färben Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben