![]() |
|
|
|||||||
| Chat - NoPaste Das Posten von Code-Stücken ist im Java-Chat nicht erwünscht. Dafür gibts diesen Nopaste-Bereich. Die Beantwortung von Themen ist hier nicht nötig. |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |
|
Premium-Benutzer
Registriert seit: 07.02.2004
Fachbeiträge: 7.817
Abgegebene Danke: 10
Erhielt 152 Danke für 74 Beiträge
|
23:42:49: wenn du zufällig mal zeit hast könntes mal einen blick auf das werfen? bullzeye ist auch daran verzweifelt, roar hat irgendwie ne lösung, versteht aber keiner...daher auch der private
![]() 23:42:52: http://www.java-forum.org/de/viewtopic.php?t=23968 23:43:34: hm 23:45:58: also bullzeye hats auch versucht, hat sich sogar selber was gebastelt und festgestellt das wenn man dem tooltiptext den string direkt übergibt alles klappt, mit dem Bundle aber nicht... ![]() 23:47:03: sorry, muss das mehr als einmal durchlesen 23:47:46: ja, ist echt ne s..bloede sache.... murkse da jetzt schon ein paar tage rum und komm auf keinen gruenen zweig! 23:50:49: Wie sieht dein RessourceBundle eigentlich aus? 23:50:56: Das hast du gar nie gepostet? 23:51:13: Oder macht das der JFD? 23:51:19: Den kenn ich leider nicht... 23:52:04: hm. also das resourcebundle wird so angelegt: 23:52:26: ResourceBundle bundle = ResourceBundle.getBundle("resourcen"); 23:52:40: ah, und Roar will am Schluss sagen, dass du beim Bundle "bombenfest.gig" angibst, aber bei deinem Code "bild1.gif" 23:52:48: bombenfest.gif gibt es? 23:52:58: ja! 23:53:11: hey, es scheitert immer an den kleinen Dingen ![]() 23:53:34: und dann halt noch den: Button1.setToolTipText(bundle.getString("Button1.toolTipText")); 23:54:07: also es gibt alle zwei bilder, hab nur auch verschiedene probiert, nicht das es doch an denen liegt! ![]() 23:54:46: Was kommt bei "bundle.getString( Button1.toolTipText )" zurück? (Die genaue Ausgabe) 23:55:16: also das was in der resourcen.propertie steht 23:55:40: für Button1.toolTipText=bla bla... das gepostete html zeugs 23:56:06: das html wird eben sauber angezeigt, nur das img im html nicht, da kommt ein broken image 23:56:17: Joa schon klar, aber hast du gerade irgendwo den genauen Text? 23:57:28: <html>[img]"+this.getClass().getResource("img/bombenfest.gif")+"[/img]Hallo</html> 23:57:43: ausgabe im tooltip ist dann: brokenimage Hallo 23:58:40: wenn ich aber ohne Bundle arbeite und Button1.setToolTipText("<html>[img]"+this.getClass().getResource("img/bombenfest.gif")+"[/img]Hallo</html>"); mache, gehts einwandfrei mit dem bild 23:59:03: Ich dachte eher, was das Programm damit macht Also welchen Wert zur Laufzeit darin steht. Was du an Code eingibst, sehe ich selber ![]() 23:59:19: weil, eigentlich müsste das gehen... 23:59:40: ja, dachte ich auch, vor allem weils ja direkt auch so schön funktioniert! 00:00:28: hm, zur laufzeit....? Also im ToolTip in der laufenden Anwendung kommt halt dann wie gesagt: [broken image] Hallo 00:02:24: Du beschreibst nur was dir der Tooltip sagt, aber nicht, was du dem Tooltip gegeben hast. Was ist "System.out.println( bundle.getStrign( ... ));"? Naja, ich versuchs mal kurz nachzucoden 00:04:46: Hast du eine eigene Bundle-Implementation verwendet? 00:05:04: also bei system.out.println(bundle.getString("button1.tooltiptext")); kommt folgendes raus: 00:05:10: "<html>[img]"+this.getClass().getResource("img/bombenfest.gif")+"[/img]Hallo</html> 00:05:43: wie meinst du das mit einge Bundle? 00:06:20: Dann versucht der Tooltip das Bild mit dem Pfad "this.getClass().getResource("img/bombenfest.gif")" zu laden. 00:06:29: vergiss mein Zwischenruf mit dem eiegenen Bundle 00:07:20: also ein Bild mit diesem Pfad "this.getClass().getResource("img/bombenfest.gif")" gibt es garantiert nicht. Dein Quellcode scheint irgendwie zu einem String mutiert zu sein. 00:08:27: Wie kommt der Text eigentlich in das Bundle? Generiert der JFormDesigner da irgendwie eine Textdatei? 00:09:04: ne, das ding muss man selber anlegen 00:09:19: also die resourcen.propertie 00:09:54: Und in dieses File hast du "tooltip = <html>[img]"+this.getClass().getResource("img/bombenfest.gif")+"[/img]Ein Bild</html>" geschrieben? 00:11:40: ja, also halt erst im java: button1.setToolTipText(bundle.getString("tooltipButton1")); und in der resourcen.propertie halt dann tooltipButton1=....... 00:12:10: also das dürfte so weit passen, weil sonst würde er ja auch das "Hallo" nicht schreiben 00:12:49: hab dazu sogar eine antwort von herrn tauber, jformdesigner erhalten, kann damit aber auch nicht wirklich was anfagen.... 00:12:52: soll ich die mal posten? 00:13:00: mom 00:14:09: naja, aber wenn das "this.getClass().getResource("img/bombenfest.gif")" nur als Text dasteht, wird es nie ausgeführt. Wenn du das direkt in den Code schreibst, wird aus diesem Stücklein die URL berechnet. wenn es in dem Bundle steht, ist es nur Text und wird direkt dem Tooltip übergeben 00:14:46: Also dieser Teil muss im Code bleiben, und das Bundle kann nur den Text liefern 00:15:43: ah, ja, also das hört sich jetzt schon mal sehr plausibel an! 00:16:36: Schon klar, was ich sagen will? 00:17:13: hm, dann bin ich jetzt wohl am ziel.... mit dem bundle bekomm ich nur den text, das bild muss ich in den code, sprich beim tooltip direkt reinbasteln 00:17:23: Ja 00:17:31: das hatte ich schon mal, ging auch, dachte nur das muss doch anders auch gehen 00:17:49: vor allem weil das reingebastelte ja vom jformdesigner immer wieder überschrieben wird... 00:18:35: Eine feste URL kannst du hier wohl schlecht angeben :-/ 00:19:28: na ja, dachte ich irgendwie falsch...... weils ja im code direkt mit dem string auch so schön geklappt hat.... 00:20:28: aber danke! jetzt check ich wenigstens warum es nicht geht! ![]() 00:20:37: Vielleicht kannst du ja eine eigene Bundle-Klasse implementieren, die dir die URL einsetzt. Nur ob der JFD da mitmacht... 00:21:25: ja...da gibts bestimmt wieder probleme..... na ja, am sinnvollsten ist wohl ich mache die tooltips mit dem bundle und setzt wenn alles fertig ist die bilder im code davor 00:21:38: oder nicht den JFD benutzen ![]() 00:22:13: ja....oder das.... aber ehrlich gesagt ein größeres layout ohne editor machen ist ja noch anstregender.... 00:23:03: Ansichtssache, wenn man ein bisschen aufteilt ists nicht sehr schwierig. Und man hat weniger Probleme ![]() 00:23:04: hm, auf jeden fall hätte roar das auch mal anders erklären können..... ich versteh den roar immer nicht! ![]() 00:23:26: Naja, ich weiss nicht genau, was er sagen wollte *g* 00:24:11: Schreib doch noch in den Thread, was passiert ist. Damit sich nicht mehr Leute den Kopf zerbrechen ![]() 00:25:16: aus dem chat kann man nicht kopieren? deine erklärung vorher hat nämlich bei mir die erleuchtung gebracht! ![]() 00:26:08: Vom Applet aus: nein. Benutz das nächste mal einen ordentlichen Client Miranda, Trillian, ChatZilla, ... ![]() 00:26:21: soll ichs dir kopieren? 00:27:04: ja, wäre nicht verkehrt!
|
|
|
| #2 (permalink) | |
|
Stammbenutzer
Viertel Megabyte
Registriert seit: 02.12.2004
Fachbeiträge: 345
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Das Problem mit den Image im Html-Text hat nichts mit ResourceBundles zu
tun. Es ist eher ein Problem von Swing. "<html><img src='" + this.getClass().getResource("img/bombenfest.gif") + "'>Sehr schön</html>" ist nicht identisch mit "<html>[img]img/bombenfest.gif[/img]Sehr schön</html>" Im ersten Fall wird von getResource() eine absolute URL für das Bild erzeugt. Im zweiten Fall ist die URL relativ, aber Swing kennt die "Basis" nicht. Deshalb wird das Bild nicht gefunden. Es gibt also zwei Lösungsmöglichkeiten: a) (falls möglich) absolute url im HTML Text eintragen b) relative url und Basis im Code festlegen Swing verwendet javax.swing.plaf.basic.BasicHTML.createHTMLView() um den Html-Text zu Rendern. Siehe Sourcecode von BasicHTML. Da gibt es die Möglichkeit, eine Basis für die Image-URL festzulegen. Z.B. radioButton.putClientProperty( BasicHTML.documentBaseKey, baseUrl ); wobei baseUrl vom Typ URL sein muß. Wie man an die "richtige" baseUrl kommt, weis ich nicht so richtig. Vielleicht mit getResource(). Oder mit getClass().getProtectionDomain().getCodeSource().getLocation() Hab ich aber nicht ausprobiert. Das Erzeugen der ImageUrl erfolgt in Swing in javax.swing.text.html.ImageView.getImageURL() und sieht so aus: URL u = new URL(baseUrl,"img/bombenfest.gif"); |
|
|
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| @vril | 8ull23y3 | Chat - NoPaste | 0 | 29.10.2005 01:49 |
| [vril] Tabelle mit Tooltips im Header | Beni | Chat - NoPaste | 0 | 10.10.2005 23:22 |
| Lesezeichen |
|
|