ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
213
213
EMPFEHLEN
-
01.08.11 16:26 #1
- Registriert seit
- Mar 2009
- Beiträge
- 28
Hallo!
Ich bin gerade dabei ein Java Applet zu programmieren. Doch mir stellt sich ein Problem.
Geplant ist es, aus einem Bild einen Button, möglichst JButton zu machen.
Durch langes herumsuchen hab ichs immerhin schon mal hinbekommen, ein Bild im png oder jpg Format einzulesen und g.drawImage() auch auf die Leinwand zu bekommen.
Wenn ich jetzt allerdings das Image in ein ImageIcon umwandele und das als Button icon über button.setIcon einstelle sehe ich nichts, wenn ich anschließen ein add(button) ausführe.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
public class test extends Applet { public JButton b; public Icon i; public Image img; public void init(){ img = getImage(getCodeBase(),"testbutton.png"); i = new ImageIcon(img); b = new JButton(); b.setIcon(i); } public void paint(Graphics g){ //g.drawImage(img,3,2,this); //<-- würde Funktionieren add(b); //<-- leerer Bildschirm } }
-
01.08.11 16:48 #2SE Tutorials.de Gastzugang
-
01.08.11 16:57 #3
- Registriert seit
- Mar 2009
- Beiträge
- 28
Also ich habs jetzt mal so abgeändert.. aber das bringt irgendwie auch nix.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
public class First extends Applet { public JButton b; public Icon i; public Image img; public void init(){ img = getImage(getCodeBase(),"testbutton.png"); i = new ImageIcon(img); b = new JButton(); b.setIcon(i); } public void start(){ add(b); } public void paint(Graphics g){ } }
-
01.08.11 17:15 #4SE Tutorials.de Gastzugang
Ok .. nächste Frage : siehst du überhaupt nichts oder nur kein Bild ?
Setze zum Testen einfach ein ein Label für den Button.
-
01.08.11 17:19 #5
- Registriert seit
- Mar 2009
- Beiträge
- 28
Also, wenn ich ein Label erstelle und in public void start(){ add(label);}
mache, dann erscheint der Text.
-
01.08.11 17:27 #6
- Registriert seit
- Mar 2009
- Beiträge
- 28
Also ich hab mal zwei Dinge versucht:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
public class First extends Applet { public JButton b; public Icon i; public Image img; public Label l; public void init(){ l = new Label("test"); img = getImage(getCodeBase(),"testbutton.png"); i = new ImageIcon(img); b = new JButton("hi"); //b.setIcon(i); } public void start(){ add(b); //<-- erscheint add(l); //<--erscheint nicht } public void paint(Graphics g){ } }
-
01.08.11 18:08 #7SE Tutorials.de Gastzugang
Dann ist es ganz klar :
img ist null oder nocht nicht vollständig geladen.
Ich finde es eh sehr umständlich das du das png übers Netz nachladen willst. Packs doch mit dem Applet in ein JAR und lad es über this.getClass().getResource().
-
01.08.11 20:11 #8
- Registriert seit
- Mar 2009
- Beiträge
- 28
Also ich bin halt in dem Applet Bereich und Grafik noch unerfahren.. hab mich bisher eher mit Algorithmen beschäftigt. Ganz gut wär auch, wenn ich wüsste, wie ich den Button an ne bestimmte Stelle bringen kann (int höhe, int tiefe), oder die Größe regulieren (int breite, int höhe) sowas wär cool.
Könntest du mir vielleicht ein Beispielcode schreiben? Das Bild ist im Gleichen Ordner wie das Programm.
Aber schon mal danke für die Antwort, das wird mich bestimmt weiterbringen.
-
01.08.11 20:31 #9SE Tutorials.de Gastzugang
Natürlich bin ich da so nett und schreib dir das mal als Pseudo-Code.
Wichtige Vorraussetzung : das Jar muss richtig zusammengepackt werden. Nähere Infos über die verwendung des Tools jar bekommst du hier : http://download.oracle.com/javase/7/...jar/index.html
Schau dir am besten das Tutorial an. Dort wird alles genau erklärt. Bei Fragen bitte konkrete Probleme beschrieben.
Wie du eine Component auf einem Container platzierst findest du in der API-Doc *Link in meiner Signatur*.
Wie genau das geht kannst du hier erfahren : http://download.oracle.com/javase/7/...ing/index.html
Auch hier wieder der Rat : arbeite das Tutorial durch.
So , und wie man nun ein Bild aus einem Jar des Applets läd schreib ich mal schnell als Pseudo-Code
Dafür brauchst du die PaketeCode java:1
BufferedImage bi=ImageIO.read(this.getClass().getResourceAsStream("icon.png"))
javax.imageio.*
java.awt.image.*
Ich bitte dich nun zu deinem eigenen Wohl und um die Flut von Fragen zu minimieren erst einmal die beschriebenen Tutorials durchzuarbeiten und nur bei konkreten Problemen diese zu posten. Auch benutze bitte die Suchfunktion und Google für weitere Infos.
Ich hoffe ich konnte dich dazu animieren erstmal selbst zu versuchen es hinzubekommen bevor ich dir eine vollständige Lösung poste.
-
Das geht auf verschiedene Arten.
Schau dir dazu am besten mal folgendes an: Using Layout Managers
Ähnliche Themen
-
JLabel und JButton
Von Tithilion im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 4Letzter Beitrag: 10.02.10, 16:32 -
CButton::SetIcon
Von Quick_Mik im Forum VisualStudio & MFCAntworten: 19Letzter Beitrag: 28.01.10, 15:15 -
Jbutton Tutorial
Von DaDonDerDritte im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 3Letzter Beitrag: 13.10.09, 12:27 -
DB-GUI und JButton
Von airliner im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 13Letzter Beitrag: 25.09.08, 08:12 -
JLabel und setIcon Frage ?
Von vrcat im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 1Letzter Beitrag: 25.06.05, 12:06





Zitieren
Login





