Paint-Programm
lima-city → Forum → Programmiersprachen → Java
ausnutzen
button
code
datum
erstellen
fenster
file
frage
frieden
gedanke
import
inhalt
mainframe
methode
problem
programm
rad
routine
teufel
zeichnen
-
Hej leude,..
ich habe mal ne frage,..
und zwar sollten wir eine eigenes Paint schreiben,. so weit so gut,.
nun sollten wir aber ne toolbar hinzufügen,.die sich auch als extra Fenster aus dem Programm nehmen lässt,. (quasi als neues eigenes Fenster)
damit bin ich leider ein wenig überfordert,..und hoffe dass mir jemand von euch helfen könnte dies zu realisiern,.
die Vorlage des Programms mit der Toolbox habe ich auf rapidshare geuppt:
http://rapidshare.com/files/246519320/p_int.jar
Danke im Vorraus,.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ndw schrieb:
ich habe deine frage nicht ganz verstanden. aber ich schätze mal du brauchst dashier:
<a href="das was rauskommen soll.jpg"
onClick="F1 = window.open('wieder das was rauskommen soll.jpg','Fenster1','css formatierungen'); return false;">
der link</a>
und schon hast du ein neues fenster mit deinem inhalt.
Ich denke, dass er im Gegensatz zu dir den Unterschied zwischen Java und JavaScript kennt, denn da bringt im HTML rein gar nichts.
Zu deinem Problem:
Hm, ich würde einfach einen Button in die Toolbar einfügen, und wenn er geklickt wird, nen neuen JFrame erstellen, in den ich *nur* die Toolbar einfügen, sollte eigentlich gar nicht so schwer sein.
Beitrag zuletzt geändert: 20.6.2009 22:34:12 von benutzernaemelchen -
benutzernaemelchen schrieb:
Zu deinem Problem:
Hm, ich würde einfach einen Button in die Toolbar einfügen, und wenn er geklickt wird, nen neuen JFrame erstellen, in den ich *nur* die Toolbar einfügen, sollte eigentlich gar nicht so schwer sein.
Warum denn so umständlich. Der Gedanke von OO ist, dass man nicht jedes Mal das Rad neu erfindet. Java kennt dockable Toolbars, warum also nicht diese nutzen?
import java.awt.*; import javax.swing.*; public class MainFrame extends JFrame { public MainFrame () { setSize (600, 600); setDefaultCloseOperation (EXIT_ON_CLOSE); JToolBar tb = new JToolBar (); tb.setFloatable (true); tb.setLayout (new FlowLayout () ); for (int i = 0; i < 4; tb.add (new JButton ("" + ++ i ) ) ); getContentPane ().setLayout (new BorderLayout () ); getContentPane ().add (tb, BorderLayout.NORTH); } public static void main (String [] args) { new MainFrame ().setVisible(true); } }
-
Ja genau,..diese JToolBar,...das war genau das was ich gesucht habe,..
Dankeschön,. -
ganz erlich .. ich hab mir das jar gezogen und mal angekuggt ... ich war von dieser dockable toolbar schlicht überwältigt das java sowas von haus aus mitbringt .. auch ein dank von mir an den thread ersteller und census für diese antwort ... werde soetwas warscheinlich später auch mal in einer meiner apps verwenden ..
aber nun habe ich mal noch ne frage : wie proggt man bitte ein PAINT in java ... denn iCH kenne absolut keine möglichkeit die RAW-daten aus der "ZEiCHEN"-leinwand auszulesen und in einem geeignetem format *jpg / gif / png* zu speichern ... wenn mir das mal bitte noch wer beantworten könnte wäre ich zu frieden ^^ -
Dreizeiler. Nicht das Rad neu erfinden, sondern das ausnutzen, was Java hergibt:
public class SaveCanvas extends JPanel { public void save (File f) throws IOException { BufferedImage bi = new BufferedImage (getWidth (), getHeight (), BufferedImage.TYPE_INT_ARGB); paint (bi.getGraphics () ); ImageIO.write (bi, "jpeg", f); } }
-
ne nein ... das meinte ich nich ...
schon klar das man was vom JPanel ableiten muss ...
aber ich meinte eigentlich eher wie man einen Graphics inhalt von einem Panel direkt dumpen kann ... weil so wie das da aussieht wird es wohl auch mit deinem dreizeiler unmöglich sein ein enster zu öffnen was ein drawable pane enthält worauf man mit verschiedenen awt-draw methoden etwas "zeichnen" kann und diesen raw-inhalt dann dumpen ... wenn doch dann mal bitte ne komplette beispiel app posten *sinnlose beschränkung von lima auf 50-zeiler is einfach dumm .. in nem progger forum postet man gerne mal 300 zeilen code um deutlich zu machen wo der teufel steckt* -
df-t schrieb:weil so wie das da aussieht wird es wohl auch mit deinem dreizeiler unmöglich sein ein enster zu öffnen was ein drawable pane enthält worauf man mit verschiedenen awt-draw methoden etwas "zeichnen" kann und diesen raw-inhalt dann dumpen
"so wie das aussieht" . . . kompiliers doch einfach, denn
GENAU das macht dieser Dreizeiler.
Schreib doch selbst:
Mach dir ein JFrame, leg auf die ContentPane mein SavePanel. Überlade die paint-Routine und mal was wildes. Danach ruf "mysavepanel.save(f)" auf. . . -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage