1Danke
ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
499
499
EMPFEHLEN
-
09.04.11 09:18 #1
- Registriert seit
- Apr 2011
- Beiträge
- 2
hi java coder!
ich habe folgendes Problem ich lerne Java schon seit 2 jahren in da schule und jetzt haben wir mit Applets begonnen.
Nun möchte ich in ein Applett einbauen das der Benutzer ein Bild auswählen kann und das das Bild dann links im Programm angezeigt wird ich verwende ein GridLayout in einem BorderLayout.
Das der Benutzer die datei auswählen kann habe ich schon hinbekommen aber weiter weis ich leider nicht mehr
das ist meine loadFile methode:
Code :1 2 3 4 5 6 7
public String loadFile (String fileType){ fd = new FileDialog(new Frame(), "Bitte auswählen:", FileDialog.LOAD); fd.setFile(fileType); fd.setDirectory("."); fd.show(); return fd.getDirectory() + fd.getFile(); }
und der Button wenn man auf ihn klickt schaut so aus
Code :1 2
bild = new Button("datei auswählen..."); bild.addActionListener(new Buttons());
ActionListener
Code :1 2 3 4 5
public void actionPerformed (ActionEvent a) { if((bild == a.getSource()) ){ fileDir = loadFile("*jpg"); } }
ich hoffe ihr könnt mir helfen!
(:
mfg Blackscreen
-
09.04.11 10:24 #2
- Registriert seit
- Jun 2009
- Beiträge
- 870
Mit Applets kannst du normalerweise nicht auf die Festplatte des Nutzers zugreifen, außer du lässt dein Applet signieren.
Normalerweise kannst du die Bilder in ein ImageIcon laden, also so:
Dieses ImageIcon kannst du dann z.B. zu einem JLabel hinzufügen. Mehr dazu unter http://openbook.galileocomputing.de/...356327ff528f45
Allerdings ist ImageIcon ein Swing-Component. Es ist aber sowieso ratsam, auf Swing umzusteigen. Die meisten Swing-Klassen heißen so wie die AWT-Klassen, nur mit einem 'J' davor, z.B.:
AWT / Swing
Button / JButton
Panel / JPanel
Component / JComponent
FileDialog / JFileChooser
2. Möglichkeit (wenn du auf Swing verzichten musst/willst oder das Bild bearbeiten bzw. resizen willst), dieser Weg ist deutlich aufwändiger:
Du erzeugst ein BufferedImage (!! in einen try-catch-Block einschließen!)
Dann musst du noch eine Klasse schreiben, die von einem AWT-Componenten erbt und in der Methode paint() mit Graphics.drawImage() das Bild malt. siehe: http://openbook.galileocomputing.de/...sel_20_006.htmCode java:1
BufferedImage image = ImageIO.read(new File(fd.getFile()));
Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
___________
Ubuntu Bug #1: Microsoft has a majority market share
Casecon: Projekt leiser Käse
-
09.04.11 11:14 #3
- Registriert seit
- Apr 2011
- Beiträge
- 2
danke hab jetzt alles auser das mit der neuen klasse funktioniert bei mir nicht..
:S
-
11.04.11 10:27 #4SE Tutorials.de Gastzugang
Wie gnodeftest schon sagte : wenn dein Applet nicht signiert ist kann es auch nicht auf deine Platten zugreifen *sog. Sandbox für Applets*.
Wenn du jetzt mit Swing arbeiten willst musst du schon den Root-Container von Swing verwenden, also halt nicht Applet sondern JApplet.
Und auch deine setDirectory-Anweisung ist sehr komisch. Signier dein Applet mal und probier es aus : du wirst sehen das du in irgend einem Unterverzeichnis für TEMP-Daten landest. Besser wäre hier ein System.getPropery("user.home"); das den User erstmal in seine "Eigenen Dateien" leitet.
Und was halt die Arbeit mit Swing angeht : du kannst natürlich nicht einfach vor alles einfach so ein großes J klatschen, du musst dir die äquivalenten Methoden raussuchen, also z.b. statt FileDialog JFileChooser *es gibt noch n paar mehr solcher klassen*
Ein weiterer Unterschied von AWT zu Swing ist das sämtliche Klassen von JComponent abgeleitet sind. Desshalb kannst du auch in einem geringen Maße mit allen Klassen gleich umgehen *gut, man kann nun einem JLabel keinen ActionListener anhängen ... aber fast alles andere*.
Am besten wäre es wenn du dein Applet so entwickelst das es halt erstmal als nomale Applikation voll funktionstüchtig is und baust es dann zu einem Applet um *z.b. in dem du den Inhalt der main-Methode in die start-methode packst*.
Wenn du dann noch Dinge tun willst die Applet normalerweise verboten sind *also z.b. File-Zugriff , Sockets zu einem anderem Server als dem Heimat-Server *Server von dem das Applet geladen wurde** dann musst du es noch signieren.
Dazu gibt es von Sun ein super Tutorial : http://download.oracle.com/javase/tu...signindex.html
*erfordert halt das das Applet in einem Jar verpackt ist*
Ähnliche Themen
-
Applet mit XML-Datei aus .jar laden....UNMÖGLICH****?
Von brucewayne im Forum JavaAntworten: 2Letzter Beitrag: 11.10.10, 08:05 -
Java Applet Chat Programm?
Von Dennis18 im Forum JavaAntworten: 0Letzter Beitrag: 29.09.07, 15:32 -
Java Applet als eigenständiges Programm? exe?
Von Jasi im Forum JavaAntworten: 1Letzter Beitrag: 16.05.06, 12:12 -
JFrame in Applet ohne Label Java Applet Window
Von mrno im Forum JavaAntworten: 4Letzter Beitrag: 02.01.06, 10:59 -
Java-Applet in eine Anwendung laden
Von Kaiser206 im Forum C/C++Antworten: 2Letzter Beitrag: 05.07.05, 16:27





Zitieren
Login





