![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Erfahrener Benutzer Registriert seit: 02.02.2005
Beiträge: 520
|
Ist es euch schonmal aufgefallen, wenn man in Beispielsweiße Windows 2000 ein JFrame mit sagen wir mal 170 x 160 Pixeln erstellt und dieses Perfekt von der Darstellung her passt, es auf einen anderen OS ganz anders ausschauen kann!? Für Windows XP bräuchte ich dann ca. ne Auflösung von 185 x 175 um alles korrekt darzustellen und damit nicht die hälfte verdeckt wird. Weiß jemand wie man das umgehen kann?
|
| | |
| | Nach oben #2 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 575
|
Welchen LayoutManager verwendest du denn? Das die Darstellung von OS zu OS anders ist, ist völlig normal. Zum einen könnte eine andere VM installiert sein, ansonsten hat JEDES OS auch noch andere Widgets (zum Beispiel Rahmen, Titelleiste, etc.) Wenn du aber dem Frame mit .setSize(width, height) eine größe zuweist, so wird die ÄUSSERE Größe bestimmt, also inklusive Rahmen und Titelleiste, nicht die innere Größe (also nicht die Größe des ContentPane). Gruß Sparrow |
| | |
| | Nach oben #4 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.108
|
Dann lass das mit setSize sein. Dafür gibt es doch die LayoutManager... nimm "pack" anstelle von "setSize".
__________________ Patrick Gotthardts Weblog. |
| | |
| | Nach oben #8 |
| Erfahrener Benutzer Registriert seit: 02.02.2005
Beiträge: 520
|
Aaaaaaaaahhhhhhhhh! Hab gedacht das geht scho im Nachhinein. Jetzt hab ich nur ein anderes Problem. Ich adde meinem JPanel (BorderLayout) in der Mitte eine classe die von JPanel erbt und eine Grafik (Graphics2D) darstellt. Diese wird aber nicht vollständig angezeigt, sondern nur ein kleiner Ausschnitt von ihr. Was kann ich da machen?
|
| | |
| | Nach oben #9 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 575
|
Eine einfache Grafik? So eine Art Splashscreen beim start des Programms? Verwende doch einfach kein eigenes JPanel sondern adde ein JLabel mit ICON und sonst nichts im CENTER. Schau dir mal JLabel und das dazugehöroge Icon an. Sollte helfen. |
| | |
| | Nach oben #11 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 575
|
Also wenn ich das richtig verstehe tust du folgendes: ein JFrame (frame) anzeigen. frame hat ein BorderLayout. Dann hast du ein JPanel (panel), dass du frame.add(panel, BorderLayout.CENTER) addest. Willst du damit nur ein Bild anzeigen? Dann brauchst du das nicht extra zeichnen. Man kann einem JLabel (also einem Text) ein Icon voranstellen. Wenn du also statt dem panel in etwa folgendes Tust: (Achtung! Ich habe keine API hier, der Syntax ist garantiert falsch! Ich hoffe das Ding heißt wirklich Icon, ich schau mir das heute Abend noch mal genau an) Icon icon = new Icon("meinBild.png"); JLabel label = new JLabel(""); label.setIcon(icon); frame.add(label, BoderLayout.CENTER); Wie gesagt, der Code ist falsch! Soll nur ein Ansatz sein. Ich schaue es mir heute Abend nochmal an. |
| | |
| | Nach oben #12 |
| Erfahrener Benutzer Registriert seit: 02.02.2005
Beiträge: 520
|
Nä, is kein Bild das ich anzeigen will. Is ein Spielfeld für ein Spiel, das in gewissen Abständen anders neu gezeichnet wird. Außerdem ist der Thread mehr allgemein gehalten |
| | |
| | Nach oben #13 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.108
|
Nimm "setPreferredSize"
__________________ Patrick Gotthardts Weblog. |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| x und y Wert nach Pixel umrechnen | Byrel | Gesuche | 7 | 22.11.2006 17:57 |
| JSlider abhängig voneinander | sheini | Desktop-Applikationen und Grafik | 1 | 21.10.2005 16:12 |
| Ernährung der Menschheit von Bestäubern abhängig - in Gefahr | Ben | Plauderecke | 1 | 22.08.2005 23:35 |