ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
2046
2046
EMPFEHLEN
-
Hi Leute ich bins mal wieder! Und wieder will meine GUI nicht so wie ich:
Ich habe für ein About Fenster einen JInternalFrame geschrieben. Leider wird er nicht angezeigt. Ich habe jeden gefragt den ich persöhnlich erwischen konnte und habe alles ausprobiert, was ich im Netz gefunden habe. Ihr seit meine letzte Hoffnung.
Hier der Code:
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 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
private void aboutButtonMousePressed(java.awt.event.MouseEvent evt) { JInternalFrame insideWindow = new JInternalFrame("Produktinformation", true, true, false); //creates a resizable, closable and not maximizable internal frame insideWindow.getContentPane().setLayout(new BorderLayout()); java.awt.GridBagConstraints gridBagConstraints; JPanel jPanel1 = new javax.swing.JPanel(); JLabel jLabel1 = new javax.swing.JLabel(); JLabel jLabel2 = new javax.swing.JLabel(); JLabel jLabel3 = new javax.swing.JLabel(); JLabel jLabel4 = new javax.swing.JLabel(); JLabel jLabel5 = new javax.swing.JLabel(); JLabel jLabel6 = new javax.swing.JLabel(); JLabel jLabel7 = new javax.swing.JLabel(); JLabel jLabel8 = new javax.swing.JLabel(); JLabel jLabel9 = new javax.swing.JLabel(); JLabel jLabel10 = new javax.swing.JLabel(); JLabel jLabel11 = new javax.swing.JLabel(); JLabel jLabel12 = new javax.swing.JLabel(); JLabel jLabel13 = new javax.swing.JLabel(); jPanel1.setLayout(new java.awt.GridBagLayout()); jLabel1.setText("Version"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(10, 8, 17, 62); jPanel1.add(jLabel1, gridBagConstraints); jLabel2.setText("Entwickler"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 8, 0, 50); jPanel1.add(jLabel2, gridBagConstraints); jLabel3.setText("Info"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 8, 0, 1); jPanel1.add(jLabel3, gridBagConstraints); jLabel4.setText("Name 1"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; jPanel1.add(jLabel4, gridBagConstraints); jLabel5.setText("Name 2"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; jPanel1.add(jLabel5, gridBagConstraints); jLabel6.setText("Name 3"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 0, 17, 0); jPanel1.add(jLabel6, gridBagConstraints); jLabel7.setText("NAme 4"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; jPanel1.add(jLabel7, gridBagConstraints); jLabel8.setText("Und hier kommt jetzt der Infotext"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; jPanel1.add(jLabel8, gridBagConstraints); jLabel9.setText("Vortsetzung Info"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; jPanel1.add(jLabel9, gridBagConstraints); jLabel10.setText("noch mehr Info"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; jPanel1.add(jLabel10, gridBagConstraints); jLabel11.setText("Version 1.0"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(10, 0, 0, 0); jPanel1.add(jLabel11, gridBagConstraints); jLabel12.setText("Info "); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 8; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 8); jPanel1.add(jLabel12, gridBagConstraints); jLabel13.setText("und nochmal Infotext"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 9; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(0, 0, 8, 0); jPanel1.add(jLabel13, gridBagConstraints); insideWindow.getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER); insideWindow.pack(); insideWindow.setResizable(false); //insideWindow.setVisible(true); insideWindow.show(); this.getContentPane().add(insideWindow); }
Ich habe alle Komponenten drin gelassen, die auch in meinem Original sind, ist nähmlich das erste mal, dass ich mit GridBagLayout arbeite. Ich kann nicht hundertprozentig ausschließen, das der Fehler dort liegt.
Mit System.Out.Println() habe ich festgestellt, das er kommplet durchläuft. Aber wie schon gesagt er zeigt nicht das geringste an.
Für eure Hilfe bin ich schon jetzt dankbar
ulki
-
Mal ne Frage: Warum muss es ein InternalFrame sein, reicht nicht auch ein modaler JDialog? Was passiert, wenn Du dafür wirklich einen JDialog benutzt, funktioniert es dann?
-
Naja ich bin mir nicht sicher, ob ich die Gestaltung, wie sie geplant ist mit einem JDialog genauso hinbekomme.
Du kennst doch sicher diese Fenster in denen allerhand über das Programm drin steht:
- Die Versionsnummer
- Wer es erstellt hat
- Wann es erstellt wurde
- Für wen es erstellt wurde
usw.
Das soll da alles rein. Ich werde mal schauen, aber ich glaube nicht, dass soetwas auch mit einem JDialog funktioniert.
-
Ich schon. Ich halte einen JDialog für solche Sachen für prädestiniert. Ein JDialog unterscheidet sich ja auch nicht viel von einem JFrame - warum und wie Du gerade auf einen InternalFrame kommst, bleibt mir schleierhaft.
Zitat von ulki
Sehe gerade, das ist mein 1000. Beitrag.
IIRC habe ich dafür ein Jahr benötigt...Geändert von Snape (12.04.05 um 13:28 Uhr) Grund: Jubiläum ;)
-
Naja, ich habe in dem Javatutorial gelesen was sich wohl dafür eignen würde. Und da stehen halt die Internal Frames drinn.
Ich werde es mal ausprobieren. Danke nochmal. Ich melde mich dann wenn ich ein Ergebniss habe
ulki
Habe vorher noch mal was mit den Internal Frames ausprobiert. Das Fensterchen wird jetzt angezeigt, aber alles was vorher im Fenster zu sehen war ist verschwunden und alles ist blau geworden.
Hier die Zeilen die ich hinzugefügt habe:
und zwar im initComponents des HauptfenstersCode :1 2
JDesktopPane desktop = new JDesktopPane(); setContentPane(desktop);
mal sehen.... immerhin tut sich was.....Geändert von ulki (15.04.05 um 08:53 Uhr)
-
Hi,
mitlerweile wird das Problem richtig amüsant.
Habe um den blau Effekt zu umgehen einfach im Aufruf des Inneren Fensters alle Objekte nochmal erstellt und sie auf die DesktopPane anstatt auf die ContentPane gelegt. Und schwups wurde alles richtig angezeigt.
Nun ergab sich aber folgendes Problem:
Wenn ich durch klick auf eines der Objekte ein weiteres Fenster öffne, öffnen sich gleich zwei von der Sorte.
Ich kann mir das nur so erklären, dass die Komponenten meines Fensters dann zweimal existieren und übereinanderliegen.
Das würde dann ja auch bedeuten, dass mein DesktopPane blau ist und nur alles versteckt. Wenn ich die DesktopPane also durchsichtig bekäme wären beide Probleme gelöst und es würde so klappen wie ich mir das vorstelle.
Also hat jemand eine Idee, wie man eine JDesktopPane durchsichtig bekommt? Ich werde mal suchen, aber ich bin nicht sehr hoffnungsvoll, da es zu JDesktopPane irgentwie nicht viel gibt.
Danke schonmal
ulki
PS: Habe das setContentPane in den Aufruf des Inneren Fensters verschoben
-
Habe keine Möglichkeit gefunden die DesktopPane durchsichtig zu machen. Habe daher den Vorschlag von Snape umgesetzt. Funktioniert tadellos.
Danke für den Tipp.
Das Programm macht jetzt was es soll, leider aber keine Lösung für das Problem mit dem Internal Frame.
Aber Lösung ist Lösung
danke für Hilfe und Geduld
ulki
Ähnliche Themen
-
I-Frame wird nicht angezeigt
Von viciousrene im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 18.06.09, 19:54 -
PHP in div wird in ie5.5/6 nicht angezeigt
Von El Muerto im Forum PHPAntworten: 0Letzter Beitrag: 27.08.07, 21:20 -
PDF wird im IE nicht angezeigt
Von MbHelm im Forum PHPAntworten: 5Letzter Beitrag: 26.04.07, 18:55 -
Div wird nicht angezeigt
Von VBFreak im Forum CSSAntworten: 2Letzter Beitrag: 01.07.04, 14:54 -
Grafik wird nicht im Frame angezeigt
Von Tobi O im Forum HTML & XHTMLAntworten: 1Letzter Beitrag: 11.06.04, 00:03





Zitieren
Login





