Symbole werden nicht korrekt angezeigt ?

Status
Nicht offen für weitere Antworten.

kaper28

Bekanntes Mitglied
Hallo Kollegen,

Ich muß eine Applikation umbauen zu einem Applet, habe ich auch gemacht. Nur leider die Bilder für die Symbole auf der Symbolleiste werden nicht korrekt angezeigt. Mann hat mir gesagt das ich die gif bilder in dem selben Ordner kopieren soll wo der Quelltext steht , habe ich auch gemacht klappt leider nicht . Bitte um hilfe !!!

[HIGHLIGHT="Java"]import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.AbstractAction;
import javax.swing.ImageIcon;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JToolBar;
import javax.swing.KeyStroke;

public class MiniMalGui extends JApplet{
//automatisch über Eclipse ergänzt
private static final long serialVersionUID = -2569945475900192306L;

//für die Anzeige
private MiniMalBildPanel mausPanel;
//für die Position
private int xPos, yPos;
//für das Werkzeug
private int werkzeug;

//für die Aktionen
private MeineAktionen beendenAct, rectAct, kreisAct, linieAct, farbeAct;

//eine innere Klasse für die Aktionen
class MeineAktionen extends AbstractAction {
//automatisch über Eclipse ergänzt
private static final long serialVersionUID = 1375901955180795320L;

//der Konstruktor
public MeineAktionen(String text, ImageIcon icon, String beschreibung, KeyStroke shortcut, String actionText) {
//den Konstruktor der übergeordneten Klasse mit dem Text und dem Icon aufrufen
super(text, icon);
//die Beschreibung setzen für den Bildschirmtipp
putValue(SHORT_DESCRIPTION, beschreibung);
//den Shortcut
putValue(ACCELERATOR_KEY, shortcut);
//das ActionCommand
putValue(ACTION_COMMAND_KEY, actionText);
}

@Override
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("beenden"))
beenden();
if (e.getActionCommand().equals("rechteck"))
werkzeug = 1;
if (e.getActionCommand().equals("kreis"))
werkzeug = 2;
if (e.getActionCommand().equals("linie"))
werkzeug = 3;
if (e.getActionCommand().equals("farbauswahl"))
farbDialogZeigen();
}
}

//die innere Klasse für die Mausereignisse
//Sie wird von der Klasse MouseAdapter abgeleitet
//wir brauchen nur das Drücken und Loslassen
class MeinMausListener extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
super.mousePressed(e);
//die Koordinate als Startpunkt speichern
//aber nur, wenn die linke Maustaste gedrückt wurde
if (e.getButton() == MouseEvent.BUTTON1) {
xPos = e.getX();
yPos = e.getY();
}
}

@Override
public void mouseReleased(MouseEvent e) {
super.mouseReleased(e);
//wenn die linke Taste losgelassen wird, zeichnen wir von der alten
//zur aktuellen Position
//je nach Werkzeug wird etwas anders gezeichnet
if (e.getButton() == MouseEvent.BUTTON1) {
//ein Rechteck
if (werkzeug == 1)
mausPanel.rechteck(xPos, yPos, e.getX()-xPos, e.getY() - yPos);
//ein Kreis
if (werkzeug == 2)
mausPanel.kreis(xPos, yPos, e.getX()-xPos, e.getY() - yPos);
//die Linie
if (werkzeug == 3)
mausPanel.linie(xPos, yPos, e.getX(), e.getY());
}
}
}

//der Konstruktor
@Override
public void init() {
//super(titel);
//wir nehmen ein Border-Layout



setLayout(new BorderLayout());
beendenAct = new MeineAktionen("Beenden", null, "", null, "beenden");
rectAct = new MeineAktionen("Rechteck" ,new ImageIcon("rect24.gif"), "Zeichnet ein Rechteck", null, "rechteck");
kreisAct = new MeineAktionen("Kreis", new ImageIcon("circle24.gif"), "Zeichnet einen Kreis", null, "kreis");
linieAct = new MeineAktionen("Linie", new ImageIcon("line24.gif"), "Zeichnet eine Linie", null, "linie");
farbeAct= new MeineAktionen("Farbauswahl", new ImageIcon("color24.gif"), "Öffnet einen Dialog zur Farbauswahl", null, "farbauswahl");

//das Werkzeug ist 1 - also das Rechteck
werkzeug = 1;

//die Menuleiste erstellen und einfügen
menu();

//die Symbolleiste oben einfügen
add(symbolleiste(), BorderLayout.NORTH);
//ein neues Panel mit dem Bild
mausPanel = new MiniMalBildPanel();
//das Panel mit dem Listener verbinden
mausPanel.addMouseListener(new MeinMausListener());
//das Panel in der Mitte einfügen
add(mausPanel, BorderLayout.CENTER);

//anzeigen, Größe setzen und Standard-Verhalten festlegen
setSize(810,680);
//setResizable(false);
//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}

//die Methode erzeugt das Menü
private void menu() {
JMenuBar menue = new JMenuBar();

//das Menü Datei
JMenu dateiMenue = new JMenu("Datei");
//der Eintrag Beenden
JMenuItem dateiBeenden = new JMenuItem();
//die Action setzen
dateiBeenden.setAction(beendenAct);
//den Eintrag hinzufügen
dateiMenue.add(dateiBeenden);

//das gesamte Menü hinzufügen
menue.add(dateiMenue);
this.setJMenuBar(menue);
}

//die Methode erzeugt die Symbolleiste
private JToolBar symbolleiste() {
JToolBar leiste = new JToolBar();

//die Symbole für die Figuren
leiste.add(rectAct);
leiste.add(kreisAct);
leiste.add(linieAct);

leiste.addSeparator();

//für die Farbauswahl
leiste.add(farbeAct);

//die komplette Leiste zurückgeben
return (leiste);


}

//die Methode beendet nach einer Rückfrage die Anwendung
private void beenden() {
if(JOptionPane.showConfirmDialog(this, "Sind Sie sicher?","Anwendung schließen", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION)
System.exit(0);
}

//die Methode ruft einen Dialog zur Farbauswahl auf und setzt die neue Farbe
//über die Klasse des Panels mit der Grafik
private void farbDialogZeigen() {
//zum Zwischenspeichern
Color tempFarbe;
//den Farbauswahl-Dialog anzeigen und die Auswahl ablegen
tempFarbe = JColorChooser.showDialog(this, "Bitte wählen Sie eine Farbe", Color.BLACK);
//wurde etwas ausgewählt?
//dann die Farbe neu setzen
if (tempFarbe != null)
mausPanel.farbeSetzen(tempFarbe);
}
}[/HIGHLIGHT]
 
Zuletzt bearbeitet von einem Moderator:
Hallo Kaper,

ich gehe mal davon aus das die App vorher schon funktioniert hat. Die Bilddateien müssen da liegen wo am Ende dann auch die Java Class ausgeführt wird.

Gruss
Sebastian
 

L-ectron-X

Gesperrter Benutzer
Is klar...
Du musst in einem Applet deine Bilder unter Angabe der relativen URL deine Bilder einlesen, sonst versucht das Applet sie im verkehrten Pfad zu finden.

Deshalb den relativen URL mit getCodeBase() besorgen und dann weiter zum Bild durchhangeln.
Auch mal die Forumsuche benutzen, das ist ein oft gefragtes Problem beim Laden von Bildern in Applets.
 

kaper28

Bekanntes Mitglied
Code:
rectAct = new MeineAktionen("Rechteck" ,new ImageIcon(getCodeBase(),"rect24.gif"), "Zeichnet ein Rechteck", null, "rechteck");

meinst du so aber funktioniert wieder nicht ...
 

L-ectron-X

Gesperrter Benutzer
Es geht nicht, reicht mir nicht. Wo ist deine Fehlermeldung? Wie soll man da Rückschlüsse auf dein Problem ziehen können? Poste mal den Inhalt der Java-Console!

Forumsuche hatte ich dir empfohlen...
...da findet man unter vielem Anderen sowas: http://www.java-forum.org/deployment/38169-warum-wird-das-bild-nicht-angezeigt.html, http://www.java-forum.org/deployment/66173-problem-beim-deployen-eines-applets.html#post407403

Das was funktioniert sieht so aus:
[HIGHLIGHT="Java"]Image image = getImage(getCodeBase(), "bild.jpg"); //Für Bilder auf Netz-Resourcen

image = getImage(new URL(getCodeBase()+"bild.jpg")); //Für Bilder auf Netz-Resourcen

image = getImage(getClass().getResource("bild.gif")); //Für Bilder in Jar-Dateien

image = getImage(new URL("file:/C:/Java/Applet/bild.jpg")); //Absolute URL auf einem lokalen Datenträger[/HIGHLIGHT]

Probiers mal so.
 
Zuletzt bearbeitet:

kaper28

Bekanntes Mitglied
Code:
image = getImage(new URL("file:/C:/Java/Applet/bild.jpg")); //Absolute URL auf einem lokalen Datenträger

denn muß ich benutzen das steht fest, nur wie kann man es so einflanzen.

Code:
rectAct = new MeineAktionen("Rechteck" , new ImageIcon ( "rect24.gif"), "Zeichnet ein Rechteck", null, "rechteck");
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
thor_norsk Eclipse Symbole Java Basics - Anfänger-Themen 2
C mathematische Symbole im Kommentar Java Basics - Anfänger-Themen 1
Z FileWriter erzeugt Symbole Java Basics - Anfänger-Themen 8
M Ampel Symbole Java Basics - Anfänger-Themen 4
W Cannot find symbole variable Java Basics - Anfänger-Themen 4
G Symbole wie û und ĉ anzeigen Java Basics - Anfänger-Themen 2
richis-fragen Kann Arrays.stream() auch auf Objekte angewant werden? Java Basics - Anfänger-Themen 10
richis-fragen JTable bei aktivieren einer Zelle soll Text selektiert werden. Java Basics - Anfänger-Themen 24
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
I Zapier -> wie werden Objekte gespeichert? Java Basics - Anfänger-Themen 10
L Datum - Monat und Jahr werden falsch angezeigt Java Basics - Anfänger-Themen 4
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
K Warum werden immer noch doppelte Zahlen ausgegeben ? Java Basics - Anfänger-Themen 13
O HashTable kann ohne Performance-Verlust in Multithreaded-Anwendungen eingesetzt werden. Java Basics - Anfänger-Themen 6
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
I Greenscreen, funktioniert nicht zu 100%... nicht alle Pixel werden geändert Java Basics - Anfänger-Themen 1
R Audio kann nur zum Teil gestoppt werden Java Basics - Anfänger-Themen 1
berserkerdq2 sqllite in Java, wenn ich mache select count(*) ..., erhalte ich dann nur die gezählte Anzahl oder werden auch die Tabellen ausgegeben? Java Basics - Anfänger-Themen 2
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden Java Basics - Anfänger-Themen 3
sserio Wieso werden nicht alle Primzahlen bis 1000 in meine Liste gepackt ? Java Basics - Anfänger-Themen 8
docmas 2DArray Werte werden nur untereinander ausgegeben Java Basics - Anfänger-Themen 1
E Umlaute und Sonderzeichen werden nach der Build Project nicht richtig angezeigt Java Basics - Anfänger-Themen 2
M Bei nach oben scrollen soll Seite aktualisiert werden (Userscript mit Javascript) Java Basics - Anfänger-Themen 10
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
C Ein Algorithmus soll schneller werden Java Basics - Anfänger-Themen 24
Q Prüfen ob Zahl als Summe von Potenzen dargestellt werden kann. Java Basics - Anfänger-Themen 20
K Erste Schritte Wie schnell ist LinkedHashMap im Vergleich zur ArrayList, wenn alle Entries durchlaufen werden? Java Basics - Anfänger-Themen 47
LiFunk Exception: es dürfen nur Nummern eingelesen werden Java Basics - Anfänger-Themen 6
U Hauptklasse kann nicht gefunden werden Java Basics - Anfänger-Themen 8
OZAN86 For Schleife von 1-50 die Zahlen werden durch ein Komma getrennt Java Basics - Anfänger-Themen 10
M Wie kann ich Werte die in einer While Schleife sind weiter genutzt werden? Java Basics - Anfänger-Themen 7
Hallolu Pong-Spiel: Schläger schneller werden lassen Java Basics - Anfänger-Themen 9
C java.sql Statement kann nicht geschlossen werden Java Basics - Anfänger-Themen 9
LetsSebi Dateien werden nicht in Zip gespeichert Java Basics - Anfänger-Themen 1
D Codeblöcke, die immer wieder im Programmverlauf benötigt werden Java Basics - Anfänger-Themen 5
J Array Elemente werden nicht gefunden! Java Basics - Anfänger-Themen 6
M Warum werden character, die Leerzeichen sind, nicht korrekt verarbeitet? Java Basics - Anfänger-Themen 2
C Array-Werte werden gemischt, ohne Logik Java Basics - Anfänger-Themen 2
P Variablen HttpResponse.getBody() wird automatisch org.json Object und kann nicht zu json.simple Object gecastet werden? Java Basics - Anfänger-Themen 7
F JMenuItem Kann nicht nach einem String benannt werden... Java Basics - Anfänger-Themen 11
L Methode implementieren, Parameter die übergeben werden sind final Java Basics - Anfänger-Themen 4
Zrebna Programm kann aus der Konsole nicht gestartet werden (in der IDE läuft es) Java Basics - Anfänger-Themen 2
D Zahlen werden falsch gekürzt :? Java Basics - Anfänger-Themen 27
T Javafx ListView kann nicht gefüllt werden. Java Basics - Anfänger-Themen 6
H Eclipse kann nicht gestartet werden .... Java Basics - Anfänger-Themen 15
R Warum werden hier nur die grün und orangen Linien ausgegeben und der Rest unten nicht? Java Basics - Anfänger-Themen 5
J Eckige Klammern werden nicht erkannt Java Basics - Anfänger-Themen 1
J Klammern werden fälschlicherweise eingelesen Java Basics - Anfänger-Themen 2
Elyt Bei Monopoly werden Felder übersprungen Java Basics - Anfänger-Themen 2
Kirby.exe Hauptklasse konnte nicht gefunden werden.... Java Basics - Anfänger-Themen 27
B Nach dem kompilieren werden Bilder nicht mehr gefunden Java Basics - Anfänger-Themen 10
L Muss eine HttpURLConnection geschlossen werden? Java Basics - Anfänger-Themen 2
B Warum werden meine System.out.println's übersprungen? Java Basics - Anfänger-Themen 9
D java main methode kann nicht kompiliert werden (Erstellen eines Objekts) Java Basics - Anfänger-Themen 6
S Vergleichen ob der Integer der benutzt eingeben werden soll überhaupt ein int ist Java Basics - Anfänger-Themen 1
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
V Array, Symbol kann nicht gefunden werden Java Basics - Anfänger-Themen 2
S TableView Items werden nicht angezeigt (+Verständnisfragen) Java Basics - Anfänger-Themen 15
O Apache: Log-Settings werden nicht gezogen Java Basics - Anfänger-Themen 0
H LayoutRes, Nullable und SystemServices werden in LayoutInflater nicht importiert Java Basics - Anfänger-Themen 9
A Wie erkennt die JVM welche class verwendet werden muss? Java Basics - Anfänger-Themen 3
L Input/Output AudioInputStream kann nicht erstellt werden. Java Basics - Anfänger-Themen 3
E Die Hauptklasse konnte nicht gefunden werden. Java Basics - Anfänger-Themen 12
H Hauptklasse ... konnte nicht gefunden oder geladen werden Java Basics - Anfänger-Themen 8
I Projekt als .jar Datei speichern - Bilder werden nicht mehr angezeigt Java Basics - Anfänger-Themen 4
J Strings sind gleich werden aber ungleich ausgewertet Java Basics - Anfänger-Themen 2
A Reader wohin werden Daten gespeichert? Java Basics - Anfänger-Themen 7
S Hauptklasse konnte nicht gefunden werden Java Basics - Anfänger-Themen 0
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 7
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 0
C Matrix-Werte werden nicht wie erwartet ausgegeben Java Basics - Anfänger-Themen 7
A Harshad Zahlen sollen in einem Intervall ausgegeben werden Java Basics - Anfänger-Themen 8
M GUI Startbutton und Titel werden nicht angezeigt Java Basics - Anfänger-Themen 1
F Variablen JTextField-Inhalt kann nicht mit String abgeglichen werden Java Basics - Anfänger-Themen 2
F Interface JButtons werden nicht angezeigt... Java Basics - Anfänger-Themen 5
DaCrazyJavaExpert Bilder werden nicht angezeigt! Java Basics - Anfänger-Themen 6
DaCrazyJavaExpert JLabels werden nicht angezeigt Java Basics - Anfänger-Themen 4
G Verkettete Liste - Neu erzeugte Elemente werden nicht ausgegeben Java Basics - Anfänger-Themen 5
S Fehler: Hauptklasse bin.demo.Start konnte nicht gefunden oder geladen werden Java Basics - Anfänger-Themen 2
M Klassen Fehler: Hauptklasse konnte nicht gefunden oder geladen werden Java Basics - Anfänger-Themen 17
P Interface Variablen-Inhalte werden nicht übergeben Java Basics - Anfänger-Themen 3
S Classpath "Hauptklasse konnte nicht gefunden oder geladen werden" Java Basics - Anfänger-Themen 6
T In Konsole darf nichts falsches eingetippt werden?! Java Basics - Anfänger-Themen 7
A Interface Abstrakte Interface Methode kann nicht benutzt werden Java Basics - Anfänger-Themen 10
C AppletViewer-Eigenschaftendatei kann nicht gelesen werden Java Basics - Anfänger-Themen 0
D Erste Schritte JFrame Inhalte werden nicht angezeigt Java Basics - Anfänger-Themen 8
L Bei falscher Eingabe soll NaN zurückgegeben werden, Rückgabetyp jedoch double Java Basics - Anfänger-Themen 3
A Die Werte zur Berechnung müssen als Parameter übergeben werden? Java Basics - Anfänger-Themen 7
H überprüfen ob in Array gleiche int-Zahlen gespeichert werden. Java Basics - Anfänger-Themen 7
P Threads Prozess kann nicht über die GUI gestartet werden Java Basics - Anfänger-Themen 8
D Prozente werden falsch berechnet Java Basics - Anfänger-Themen 8
H javac.exe konnte nicht gefunden werden Java Basics - Anfänger-Themen 2
H Methoden können nicht verwendet werden Java Basics - Anfänger-Themen 10
P Programm kann über CMD nicht ausgeführt werden Java Basics - Anfänger-Themen 2
C Java Hauptklasse konnte nicht gefunden oder geladen werden Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben