Hübsche Stickies selber bauen!

tiescher

tiescher

Aktives Mitglied
Thread Starter
Dabei seit
03.11.2003
Beiträge
217
Reaktionspunkte
1
Hallo MacUser!

Da ich Stickies sehr cool finde, habe ich mal in Java einen Stickie-Generator gebaut. Und ich dachte, dass es eine gute Idee ist, den mal Leuten zu zeigen, die sich mit sowas auskennen, also Euch! :)

Ich würde gerne wissen, wie Ihr das Teil findet, und was Ihr Euch noch für Features vorstellen könntet.


Das File ist ein zip mit einem Jar und zwei Ordnern ('pix' und 'fonts'). Einfach entpacken. Die beiden Ordner sollten auf derselben Ebene liegen wie das jar-File, da ich es irgendwie noch nicht hinbekommen habe mit eclipse ein jar zu bauen, in dem alle Ressourcen korrekt eingebettet werden!

Getestet habe ich nur auf OS X, aber wer will schon was anderes :)

Na dann lasst mal hören, würde mich freuen...

Viele Grüße
Tiescher
 
Programm funktioniert bei mir unter Tiger. Mir erschließt sich aber noch nicht zu was man sowas sinnvoll einsetzen könnte.
 
Hey Danke fürs Testen.
Tja, wofür braucht man sowas? Stell Dir mal vor, jemand braucht einen Stickie und hat von Bildbearbeitung so viel Ahnung wie ich vom Einhandhäkeln, oder er hat keine Bildbearbeitungssoftware oder sonst was.

Ausserdem wollte ich mir mal die Java2D-Features anschauen...

Ist Dir sonst was aufgefallen, fehlt irgendwas oder sowas?

Danke
Tiescher
 
Bisher sticken die Stickies aber nicht, oder? :D

Die Idee mit den Ebenen ist mal was Neues, auch wenn ich nicht sicher bin, dass die Ebenen einen Sinn haben! Wenn es sie nun schon mal gibt, wäre ein Verschieben mit Drag & Drop ganz schön, anstatt unten mit den Koordinatentasten.
 
Tja, wofür braucht man sowas? Stell Dir mal vor, jemand braucht einen Stickie und hat von Bildbearbeitung so viel Ahnung wie ich vom Einhandhäkeln, oder er hat keine Bildbearbeitungssoftware oder sonst was.

ACHSO! Also ein Sticker-Programm, keines für Stickies!
 
Ja guter Punkt. Drag&Drop wäre insgesamt cooler als das Zeugs so zu regeln. Ist allerdings nicht ganz so trivial in Java, zumindest nicht so, wie die app gebaut ist.

Grüße Tiescher
 
Habs mir auch mal runtergeladen...

Läuft auch bei mir einwandfrei unter der neuesten Tiger Version. Einen richtigen Sinn hat das Programm für mich nicht, aber es ist witzig.

Wie auch immer, ich habe zwei Vorschläge:

Einmal den OSX-Adapter ins Programm einzubauen, um OSX Features wie Screen Menu Bar, About Box etc nutzen zu können.

Dann noch den AWT File Dialog zu benutzen, anstatt dem JFileDialog, da es sich bei AWT um den nativen handelt und der JFileDialog irgendwie ein Krampf ist. Solange du sowieso nix großartiges damit machen willst, hast du auch keine Nachteile dadurch.

Viel Spaß nich mit der weiteren Entwicklung...
 
Oha es war schon spät... Ich meine natürlich den JFileChooser zu ersetzen, nix mit JFileDialog. :p
 
Hä hä Danke. War mir schon klar welchen Du meinst. Aber was meinst Du mit dem OSX-Adapter? Menüs kann man ja auch so realisieren...

Viele Grüße
Tiescher
 
Ja das stimmt, es geht auch anders, der OSXAdapter bietet allerdings eine schöne Klasse, die man sich samt Dokumentation und Beispiel direkt von Apple runterladen kann.

Kann man wirklich schön einfach in sein Programm integrieren und an einer Stelle dafür sorgen, dass die gewünschten Funktionalitäten zur Verfügung gestellt werden.

Zu finden hier:
http://developer.apple.com/samplecode/OSXAdapter/
 
Is ja geil die Adapterklasse. Muss ich zugeben, dass ich die nicht kannte.
Danke. Ich werd´s bald einbauen.

Vielen Dank
Tiescher
 
Da ich auf meinen neuen Mac Pro noch warten muss, habe ich das Progi mal unter Windoof getestet - da ist das leider unbrauchbar...

Ich vermute mal, dass du festes Layout verwendet hast? Somit sind einige Felder unter Windows einfach abgeschnitten. Außerdem hat man bei Interaktion (Farbeauswahl, Rotation) derbe Probleme mit den repaints()... Da flackert alles wie wild... ;)

Also auch wenn die Applikation nur für mac entwickelt wurde, würde ich mich mit Layout-Managern näher beschäftigen - wird den Wert deiner weiteren Programme erheblich steigern (zu empfehlen ist an dieser Stelle Forms von jGoodies)
 
Hey Danke Platform7. Hab das Ding mittlerweile auch mal auf Windows getestet. Habe dieselben Probleme festgestellt.

Die Layout-Sache habe ich mit dem GridBagLayout gelöst und das "Flackern" war eigentlich auch kein Thema, da ich ausschließlich Swing-Komponenten einsetze, die man "doubleBuffern" kann. Ich finde es trotzdem erstaunlich, dass die Komponenten am Mac automatisch gepuffert werden. Da sieht man mal wieder.

Danke fürs Testen...

viele Grüße
Tiescher
 
@tiescher
abgesehen davon, dass ich den Nutzen des Programms auch noch nicht begriffen habe:
Für weitere Nutzer wäre es sehr schön, wenn die "fonts" und "pix" mit im jar stecken würden ;)


?=?
 
@tiescher
abgesehen davon, dass ich den Nutzen des Programms auch noch nicht begriffen habe:
Für weitere Nutzer wäre es sehr schön, wenn die "fonts" und "pix" mit im jar stecken würden ;)


?=?

Da bin ich ganz Deiner Meinung, aber ich kriegs einfach nicht hin, externe Ressourcen in das jar mit reinzupacken. Die werden dann einfach nicht mehr gefunden. Habs schon alles mögliche probiert (mit dem eclipse-jar-exporter, mit fatjar und ein selbst gebautes mit ant-file), aber ich verzweifle jedesmal.

Irgendwelche Tipps?

Grüße Tiescher
 
Wie lädst du die Ressourcen denn, wenn sie in einem Jar wären?
 
unterschiedlich. Ich mach ma ein paar Beispiele:

Achtung:

Lables mit Icons drauf lad ich so:
Code:
this.rowCenterXBtn = new JLabel(new ImageIcon("pix/interface/center_x_btn.png"));

Das Hintergrund-Bild (der Stickie selbst) für die überschriebene Repaint-Methode:
Code:
String imgPath = Stickie.bgImagePaths[this.getAppWindow().getStickie().getBgImage()];
// bsp. pix/stickies/yellow.png
		BufferedImage img = null;
		try {
		    img = ImageIO.read(new File(imgPath));
		} catch (IOException e) {
			new AlertDialog("Das Hintergrundbild konnte nicht geladen werden","Fehler",0);
			Application.quitApplication();
		}

Der Font wird so geholt:
Code:
try {
		     try {
				this.setTempFont(Font.createFont(Font.TRUETYPE_FONT, new File("fonts/marker_felt.ttf")));
			} catch (FontFormatException e) {
				new AlertDialog("Ung\u00FCltige Schriftdatei!","Fehler",0);
				Application.quitApplication();
			}
			} catch (IOException ioe){
				new AlertDialog("Die Schriftdatei wurde nicht gefunden!","Fehler",0);
				Application.quitApplication();
			}
 
Aha... da haben wirs ja auch schon. ;)

Bilder aus einem Jar kannst du zB so laden:
PHP:
Image image = Toolkit.getDefaultToolkit().getImage(getClass().getResource("bla.JPG"));

Oder auch mit der Methode getResourceAsStream:

PHP:
InputStream is = getClass().getResourceAsStream("image.gif");
 
Zurück
Oben Unten