Bild wird trotz allem einfach nicht angezeigt. - AHHHHH!!!!!

Status
Nicht offen für weitere Antworten.

Rex

Bekanntes Mitglied
Liebe Freunde,
ich spende mal hier den ganzen Code meines Applets:
Wichtig ist, dass das Bild aus Testgründen direkt am Start des Applets und nicht nach dem Upload angezeigt wird (aus Testgründen eben).
Code:
import java.applet.Applet;
import java.applet.AppletContext;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.datatransfer.*;
import java.awt.dnd.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.*;
import java.util.*;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.JFrame;

public class DFApplet extends Applet
{ String SID;
  String TID;
  Integer orderno;

private static Image img;

// 

    public static JFrame f;
      public void init(String[] args)
    {
        try {
            
            loadImage(new URL("http://www.xxx.de/Pictures/ff1.png"), img);
        } catch (MalformedURLException ex) {
            ex.printStackTrace();
        }
          
 SID = getParameter("SID" );
 TID = getParameter("TID" );
 orderno = Integer.valueOf(getParameter("OID" ));
        JFrame f = new JFrame("Uploader");
        f.setSize(100, 100);
        f.setVisible(true);

        new DropTarget(f, new DropTargetAdapter()
        {
            public void drop(DropTargetDropEvent e)
            {
                try
                {
                    Transferable t = e.getTransferable();
                    DataFlavor d = e.getCurrentDataFlavors()[0];
                    e.acceptDrop(e.getDropAction());
                    List a = (List) t.getTransferData(d);
                    for (int i = 0; i < a.size(); i++)
                    {
                        processFile((File) a.get(i));
                                
                    }
                } catch (Exception ex)
                {
                    ex.printStackTrace();
                }
            }
        });
    } 

    public void processFile(File f)
    {
       try {
           
          
             InputStream serverInput = ClientHttpRequest.post(
                              new URL("http://www.xxx.de/test/uptest.php"), 
                              new Object[] {
                                            "orderno", orderno,
                                            "SID", SID,
                                            "TID", TID,
                                            "data", f
                                           });
             
            } catch (Exception e) {
    }
   }
    
    public void loadImage(URL graphicurl, Image img){
             img.getGraphics().drawImage(getImage(graphicurl), 0, 0, Applet.WIDTH, Applet.HEIGHT, this);              
             setImage(img); 
    }
    
    
    public void setImage(Image img) {
   this.img = img;
   repaint();
} 
 
    public void paint(Graphics g) {
  if (img == null) {
    img = createImage(100, 80);
  }
    }

}

Das Problem ist, das Applet bleibt... LEER!

Warum?
Ich muss ja irgendwas falsch gemacht haben.

Vielen Dank für eure Hilfe!
MFG
Rex
 
B

Beni

Gast
Wo zeichnest du denn das Bild? Ein Aufruf in "paint" in der Form "g.drawImage..." könnte helfen.
 

Rex

Bekanntes Mitglied
Nein, habe ich wahrscheinlich nicht.

Jetzt sehen die Änderungen so aus:

Code:
[...]
 public void init(String[] args)
    {
        try {
            
            setImage(
                    img,
                    new URL("http://www.xxx.de/Pictures/ff1.png")
                    );
        } catch (MalformedURLException ex) {
            ex.printStackTrace();
        }
[...]

und

Code:
[...]
public void setImage(Image img, URL graphicurl) {
   img.getGraphics().drawImage(getImage(graphicurl), 0, 0, Applet.WIDTH, Applet.HEIGHT, this); 
   this.img = img;
   repaint();
} 
 
    public void paint(Graphics g) {
   if(img != null) {
      g.drawImage(img, 0, 0, this);
   } 
    }
[...]

Was ist jetzt noch falsch??


Vielen Dank!
MFG
Rex
 

André Uhres

Top Contributor
???:L public void init(String[] args) ???:L

Code:
package applets;
import java.awt.*;
import java.net.*;
import javax.swing.*;
public class DFApplet extends JApplet {
    private Image img;
    public void init() {
        try {
            img = new ImageIcon(new URL("http://upload.wikimedia.org/wikipedia/commons/4/47/" +
                    "PNG_transparency_demonstration_1.png")).getImage();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }
    public void paint(Graphics g) {
        g.drawImage(img,0,0,null);
    }
}
 

Rex

Bekanntes Mitglied
Irgendwas mache ich immer noch falsch:

Code:
import java.applet.Applet;
import java.applet.AppletContext;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.datatransfer.*;
import java.awt.dnd.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.*;
import java.util.*;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;

public class DFApplet extends Applet
{ String SID;
  String TID;
  Integer orderno;

private Image img;

// 

    public static JFrame f;
      public void init(String[] args)
    {
       try {
            img = new ImageIcon(new URL("http://upload.wikimedia.org/wikipedia/commons/4/47/" +
                    "PNG_transparency_demonstration_1.png")).getImage();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } 
          
 SID = getParameter("SID" );
 TID = getParameter("TID" );
 orderno = Integer.valueOf(getParameter("OID" ));
        JFrame f = new JFrame("Uploader");
        f.setSize(100, 100);
        f.setVisible(true);

        new DropTarget(f, new DropTargetAdapter()
        {
            public void drop(DropTargetDropEvent e)
            {
                try
                {
                    Transferable t = e.getTransferable();
                    DataFlavor d = e.getCurrentDataFlavors()[0];
                    e.acceptDrop(e.getDropAction());
                    List a = (List) t.getTransferData(d);
                    for (int i = 0; i < a.size(); i++)
                    {
                        processFile((File) a.get(i));

                    }
                } catch (Exception ex)
                {
                    ex.printStackTrace();
                }
            }
        });
    } 

    public void processFile(File f)
    {
       try {
           
          
             InputStream serverInput = ClientHttpRequest.post(
                              new URL("http://www.xxx.de/test/uptest.php"), 
                              new Object[] {
                                            "orderno", orderno,
                                            "SID", SID,
                                            "TID", TID,
                                            "data", f
                                           });
             
            } catch (Exception e) {
    }
   }
    
    
     
public void paint(Graphics g) {
        g.drawImage(img,0,0,null);
    } 

}

Das Applet bleibt weiss ...


HELP!
MFG
Rex
 

Rex

Bekanntes Mitglied
public void init(String[] args)
Meinst Du das?
Wenn ich das weglasse, hagelt's Fehler.

EDIT: Ich habe aus Applet JApplet gemacht aber das bringt nix.


MFG
Rex
 

Campino

Top Contributor
Rex: Ohne Java-Buch wirst du Java nie lernen!!!

Vergleiche mal Andres Code mit deinem:

Bei Andre steht:
Code:
public void int(){
//Der Rest der Methode
}

bei dir steht:
Code:
public void init(String args[]){
//Der Rest der Methode
}

Na, macht es klick? Das hätte man wissen können...wenn man ein Buch...ach, du willst es ja eh nicht glauben...
 

Rex

Bekanntes Mitglied
Aber:
Wenn ich jetzt aus init() int() mache,
dann sagt er mir "<identifier expected>"

AHHHHHHHHHH!

MFG
Rex
 

L-ectron-X

Gesperrter Benutzer
Du kannst nicht einfach die Methoden nach Belieben (um-)benennen.
Die Methode, die das Applet initialisiert und zur Ausführung vorbereitet heißt init(). Wenn der Name dieser Methode einfach geändert wird, kannst du dich auf den Kopf stellen und 100 Hamburger essen, aber das Applet wird einfach nicht mehr funktionieren.
 

Rex

Bekanntes Mitglied
Campino hat gesagt.:
Bei Andre steht:

public void int(){
//Der Rest der Methode
}


bei dir steht:

public void init(String args[]){
//Der Rest der Methode
}


Na, macht es klick? Das hätte man wissen können...wenn man ein Buch...ach, du willst es ja eh nicht glauben...

Aber hier wird ja noch einmal explizit darauf hingewiesen, dass ich int() nehmen soll!
Was ist denn nun richtig? :?


MFG
Rex
 

L-ectron-X

Gesperrter Benutzer
Campino hat versehentlich einen Tippfehler eingebaut. So wurde aus init() eben int().
Schau dir das Posting von André an, mische das mit dem, was du von mir hast und fertig ist die Laube.

Die Methode aus Applet, die du überschreiben musst heißt init().
Überschreiben bedeutet in diesem Fall, die Methode init() mit sinnvollem Code füllen, so dass das Applet initialisiert werden kann. Der Browser ruft nach dem Laden des Applets zuerst die init()-Methode auf und für den darin befindlichen Code aus. Wenn du die nicht überschrieben hast, bspw. weil du sie nicht init() sondern int() genannt hast, passiert gar nichts. Im Browser wird nichts angezeigt.

Soweit klar?
 

Campino

Top Contributor
ups...*schäm*, ja das mit dem int ist ein Tippfehler meinerseits, es muss init heißen *schäm*

Wenn du irgendwelche Parameter an die Methode hängst, die diese nicht hat, wird das original auch nicht überschrieben.
 

Rex

Bekanntes Mitglied
Es klappt nicht! :( Mein Bild wird nicht angezeigt - stattdessen bleibt die Applet-Fläche WEISS!!!

Oh, ganz lustig wird es, wenn ich "String[] args" weglasse,
dann hagelt es nur so von Fehlermeldungen.
Und zwar nicht während des compilens sondern während der Laufzeit.
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:415)
at java.lang.Integer.valueOf(Integer.java:553)
at DFApplet.init(DFApplet.java:42)
at sun.applet.AppletPanel.run(AppletPanel.java:378)
at java.lang.Thread.run(Thread.java:595)

BTW:
Hier der aktuelle Quelltext, der unter anderem auch ein Bild anzeigen soll (vorerst wenigstens ein Beispielsbild):

Code:
import java.applet.Applet;
import java.applet.AppletContext;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.datatransfer.*;
import java.awt.dnd.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.*;
import java.util.*;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JApplet;
import javax.swing.JFrame;

public class DFApplet extends JApplet
{ String SID;
  String TID;
  Integer orderno;

private Image img;

// 

    public static JFrame f;
         public void init(String[] args)
    {
       try {
//ANZEIGE DES BILDES://////
            img = new ImageIcon(new URL("http://upload.wikimedia.org/wikipedia/commons/4/47/" +
                    "PNG_transparency_demonstration_1.png")).getImage();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } 
          
 SID = getParameter("SID" );
 TID = getParameter("TID" );
 orderno = Integer.valueOf(getParameter("OID" ));
        JFrame f = new JFrame("Uploader");
        f.setSize(100, 100);
        f.setVisible(true);

        new DropTarget(f, new DropTargetAdapter()
        {
            public void drop(DropTargetDropEvent e)
            {
                try
                {
                    Transferable t = e.getTransferable();
                    DataFlavor d = e.getCurrentDataFlavors()[0];
                    e.acceptDrop(e.getDropAction());
                    List a = (List) t.getTransferData(d);
                    for (int i = 0; i < a.size(); i++)
                    {
                        processFile((File) a.get(i));

                                
                    }
                } catch (Exception ex)
                {
                    ex.printStackTrace();
                }
            }
        });
    } 

    public void processFile(File f)
    {
       try {
           
          
             InputStream serverInput = ClientHttpRequest.post(
                              new URL("http://www.xxx.de/test/uptest.php"), 
                              new Object[] {
                                            "orderno", orderno,
                                            "SID", SID,
                                            "TID", TID,
                                            "data", f
                                           });
             
            } catch (Exception e) {
    }
   }
    
    
     
public void paint(Graphics g) {
        g.drawImage(img,0,0,null);
    } 

}


OMG

MFG
Rex
 
S

SlaterB

Gast
ersetze
orderno = Integer.valueOf(getParameter("OID" ));
durch
orderno = 2;
um zumindest das Bild dann vielleicht zu sehen? ;)

wie das mit den Parametern geht kann ich nicht sagen,
wenn ich sowas machen wollte, würde ich jedenfalls vorher in Bücher schauen ;) ;)
 

Rex

Bekanntes Mitglied
Die Parameter übergebe ich von außen an mein Applet.
Und dass muss auch so bleiben.
Denn ich brauche diese Parameter.

Liegt es wirklich an den paar Parametern??

Ansonsten: Trägt mein Code Fehler oder Flüchtigkeiten, die das Bilderproblem hervorrufen könnten?

MFG
Rex
 

L-ectron-X

Gesperrter Benutzer
Das lässt sich ohne das HTML-File gesehen zu haben nicht sagen.
Und ändere endlich die Methoden-Signatur!

Code:
public void init() {
  //hier den Code der init()-Methode implementieren
}
 

Rex

Bekanntes Mitglied
Habe ich gemacht.
Ergebnis:
(Fehler während der Laufzeit, also nicht während des Kompilierens)
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:415)
at java.lang.Integer.valueOf(Integer.java:553)
at DFApplet.init(DFApplet.java:42)
at sun.applet.AppletPanel.run(AppletPanel.java:378)
at java.lang.Thread.run(Thread.java:595)

Was soll dass nun wieder heissen?

MFG
Rex
 

L-ectron-X

Gesperrter Benutzer
OK, wo ist dann das HTML-File?
Muss ich dir den Quelltext auch noch aus der Nase ziehen?

Brauchst du nun Hilfe, oder nicht? Streng dich hier mal ein bischen an!

Der Fehler deutet möglicherweise auf einen falschen oder fehlenden Parameter hin.
 

Rex

Bekanntes Mitglied
Sorry - aber ich verwende zum Testen keine HTML-File.
Ich benutze den integrierten Viewer von meiner IDE NetBeans.
Der kann dass für einen automatisch machen.

Ich kann aber aus Erfahrung sagen, was im Applet-Viewer meiner IDE nicht geht, geht auch nicht im Browser.


MFG
Rex
 

L-ectron-X

Gesperrter Benutzer
Damit wäre wiedermal bewiesen, dass Anfänger nicht mit einer IDE herumspielen sollten, wenn sie die Hintergründe nicht verstanden haben.

Besorg den Quelltext deines HTML-Files, ansonsten können wir hier abhaken...
 

Rex

Bekanntes Mitglied
Hier der HTML-Quellcode:

Code:
<html>
<head>
<title>TEST!</title>
<style type="text/css">
<!--
#Layer1 {
	position:absolute;
	left:42px;
	top:443px;
	width:auto;
	height:auto;
	z-index:1;
	border-color:#00FF66;
	border-width:thick;
	border-style:ridge;
}
#Layer2 {
	position:absolute;
	left:658px;
	top:441px;
	width:auto;
	height:auto;
	z-index:1;
	border-color:#666633;
	border-width:thick;
	border-style:ridge;
}
#Layer3 {
	position:absolute;
	left:436px;
	top:67px;
	width:auto;
	height:auto;
	z-index:1;
	border-color:#993366;
	border-width:thick;
	border-style:ridge;
}
#Layer4 {
	position:absolute;
	left:230px;
	top:68px;
	width:auto;
	height:auto;
	z-index:1;
	border-color:#333333;
	border-width:thick;
	border-style:ridge;
}
#Layer5 {
	position:absolute;
	left:30px;
	top:74px;
	width:auto;
	height:auto;
	z-index:1;
	border-color:#3399CC;
	border-width:thick;
	border-style:ridge;
}
#Layer6 {
	position:absolute;
	left:654px;
	top:253px;
	width:auto;
	height:auto;
	z-index:1;
	border-color:#999966;
	border-width:thick;
	border-style:ridge;
}
#Layer7 {
	position:absolute;
	left:648px;
	top:61px;
	width:auto;
	height:auto;
	z-index:1;
	border-color:#CCCC33;
	border-width:thick;
	border-style:ridge;
}
#Layer8 {
	position:absolute;
	left:38px;
	top:254px;
	width:auto;
	height:auto;
	z-index:1;
	border-color:#FF66CC;
	border-width:thick;
	border-style:ridge;
}
#Layer9 {
	position:absolute;
	left:227px;
	top:146px;
	width:126px;
	height:49px;
	z-index:9;
}
#Layer10 {
	position:absolute;
	left:244px;
	top:249px;
	width:376px;
	height:348px;
	z-index:2;
}
-->
</style>
</head>
<body>
<div id="Layer10">
  <form name="form1" method="post" action="">
    <textarea name="textfield" rows="20"></textarea>
    </form>
</div>
<script type="text/javascript" src="../wz_dragdrop/wz_dragdrop.js"></script>
<script type="text/javascript" src="../ce_wz_library/ce_wz_library.js"></script>




<div id="Layer1">
<applet code="DFApplet.class"  width="160" height="146" alt="Sie m&ssen Java installieren!">
  <param name="TestText" value="SELFHTML"></applet></div>
<div id="Layer2">
<applet code="DFApplet.class"  width="160" height="146" alt="Sie m&ssen Java installieren!">
  <param name="TestText" value="SELFHTML"></applet></div>
<div id="Layer3">
<applet code="DFApplet.class"  width="160" height="146" alt="Sie m&ssen Java installieren!">
  <param name="TestText" value="SELFHTML"></applet></div>
<div id="Layer4">
<applet code="DFApplet.class"  width="160" height="146" alt="Sie m&ssen Java installieren!">
  <param name="TestText" value="SELFHTML"></applet></div>
<div id="Layer5">
<applet code="DFApplet.class"  width="160" height="146" alt="Sie m&ssen Java installieren!">
  <param name="TestText" value="SELFHTML"></applet></div>
<div id="Layer6">
  <applet code="DFApplet.class"  width="160" height="146" alt="Sie m&ssen Java installieren!">
    <param name="TestText" value="SELFHTML">
  </applet>
</div>
<div id="Layer7">
<applet code="DFApplet.class"  width="160" height="146" alt="Sie m&ssen Java installieren!">
  <param name="TestText" value="SELFHTML"></applet></div>
<div id="Layer8">
<applet code="DFApplet.class"  width="160" height="146" alt="Sie m&ssen Java installieren!">
  <param name="TestText" value="SELFHTML"></applet></div>
<script type="text/javascript">
<!--
SET_DHTML(CURSOR_MOVE, SCROLL, DETACH_CHILDREN, "Layer1", "Layer2", "Layer3", "Layer4", "Layer5", "Layer6", "Layer7", "Layer8");


//We need this, to bring the layer back to it's old place, when a) no overlay or b) another should take it insteed.
var oldindex; //The index of the dragged object
var oldposx; //..
var oldposy; //The old position of the dragged Element to swap with the other one overlayed.
var oldobjheight;
var oldobjwidth;
var oldname;

function test(){
transformLayer(1, 97, 120, 120, "Layer1", 1, 10);

}


function my_PickFunc()
{ //This function is callback, when some Drag'n'Drop object is dragged.
oldposx = dd.obj.x;
oldposy = dd.obj.y;
oldobjwidth = dd.obj.w;
oldobjheight = dd.obj.h;
oldindex = dd.obj.index;
oldname = dd.elements[oldindex].name;
window.status = 'Drag!'
return(oldposx, oldposy, oldobjwidth, oldobjheight, oldindex, oldname);
}
function my_DropFunc()
{ //This function is callback, when some Drag'n'Drop object is dropped.
var newposx;
var newposy;


//Let's take the koordinates where the object has been dragged now:
var checkx;
var checky;
var checkwidth;
var checkheight;
var checkindex;
var checkname;
///
//init.:
checkx = dd.obj.x;
checky = dd.obj.y;
checkwidth = dd.obj.w;
checkheight = dd.obj.h;
checkindex = dd.obj.index;
checkname = dd.elements[checkindex].name;
///

var iscollision; //When a collision happened, this variable will get the value  1  .
iscollision = 0; //Deinit. for loop.
//NEWPOS: Koordinaten des abgelegten Objektes.
//Alle D&D Layer durchgehen in Array:
for(var i = 0; i <= dd.elements.length; i++){

newposx = dd.elements[i].x;
newposy = dd.elements[i].y;
newobjwidth = dd.elements[i].w;
newobjheight = dd.elements[i].h;
newname = dd.elements[i].name;


if(dd.elements[i].name == oldname){  } else {
if((checkx + checkwidth  >= newposx + newobjwidth && checkx < newposx + newobjwidth)
&& (checky + checkheight >= newposy + newobjheight && checky < newposy + newobjheight)){


iscollision = 1; //check flag.

//alert('Swap dragged Layer ' + oldname + ' with underlaying Layer ' + newname + ' .');

//This part provides that a swap will happen when a layer is overlaying another one.
//dd.obj.x = oldposx; //Let's take first the other object to the new place.
//dd.obj.y = oldposy;
transformLayer(oldposx, oldposy, oldobjwidth, oldobjheight, newname, 1, 10); //The dragged image!

//dd.elements[oldindex].x = newposx; //Then take the dragged image to new place.
//dd.elements[oldindex].y = newposy;
transformLayer(newposx, newposy, dd.elements[oldindex].width, dd.elements[oldindex].height, oldname, 1, 10); //The underlaying image!
} //Ende if.

if(iscollision == 0){ //Nix gefunden?.
//if there is no overlay, turn the layer back to the old position.
//dd.elements[oldindex].x = oldposx;
//dd.elements[oldindex].y = oldposy;
transformLayer(oldposx, oldposy, dd.elements[oldindex].width, dd.elements[oldindex].height, oldname, 1, 50); //The dragged image!
} //Ende if.





} //Ende for

} //Ende if

} //Ende funct.
//-->
</script>
</body>
</html>

Und die Fehlermeldungen in der Java-Konsole:
Code:
java.security.AccessControlException: access denied (java.net.SocketPermission upload.wikimedia.org resolve)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkConnect(Unknown Source)
	at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
	at sun.awt.SunToolkit.getImage(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at DFApplet.init(DFApplet.java:34)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.security.AccessControlException: access denied (java.net.SocketPermission upload.wikimedia.org resolve)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkConnect(Unknown Source)
	at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
	at sun.awt.SunToolkit.getImage(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at DFApplet.init(DFApplet.java:34)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.security.AccessControlException: access denied (java.net.SocketPermission upload.wikimedia.org resolve)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkConnect(Unknown Source)
	at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
	at sun.awt.SunToolkit.getImage(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at DFApplet.init(DFApplet.java:34)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.security.AccessControlException: access denied (java.net.SocketPermission upload.wikimedia.org resolve)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkConnect(Unknown Source)
	at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
	at sun.awt.SunToolkit.getImage(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at DFApplet.init(DFApplet.java:34)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.security.AccessControlException: access denied (java.net.SocketPermission upload.wikimedia.org resolve)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkConnect(Unknown Source)
	at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
	at sun.awt.SunToolkit.getImage(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at DFApplet.init(DFApplet.java:34)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.security.AccessControlException: access denied (java.net.SocketPermission upload.wikimedia.org resolve)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkConnect(Unknown Source)
	at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
	at sun.awt.SunToolkit.getImage(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at DFApplet.init(DFApplet.java:34)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.security.AccessControlException: access denied (java.net.SocketPermission upload.wikimedia.org resolve)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkConnect(Unknown Source)
	at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
	at sun.awt.SunToolkit.getImage(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at DFApplet.init(DFApplet.java:34)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.security.AccessControlException: access denied (java.net.SocketPermission upload.wikimedia.org resolve)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkConnect(Unknown Source)
	at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
	at sun.awt.SunToolkit.getImage(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at DFApplet.init(DFApplet.java:34)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

*Verzweifel*
MFG
Rex
 

L-ectron-X

Gesperrter Benutzer
Locker bleiben. :wink: Sieht erst mal verwirrend aus.
Aber ich kann dir schon sagen, dass die Parameter nicht stimmen und das Applet nur über eingeschränkte Rechte verfügt.
Ich muss noch ein bisschen für die Arbeit was machen, gucke aber morgen Nachmittag noch mal rein und nehme das mal auseinander.
 
S

SlaterB

Gast
ein korrekteres HTML-File sieht übrigens so aus:

Code:
<html>
<head>
<title>TEST!</title>
</head>
<body>
<applet code="DFApplet.class"  width="160" height="146" alt="Sie m&ssen Java installieren!">
  <param name="TestText" value="SELFHTML"></applet>
</body>
</html>

dann könnte man auch versuchen was damit anzufangen,
z.B. wird hier kein Parameter OID mitgegeben, wie soll dies dann im Applet verarbeitet werden?

naja, ist wohl doch hoffnungslos
 

L-ectron-X

Gesperrter Benutzer
:arrow: Ausführbares Beispiel-Applet anzeigen

Ich habe hier mal aus deinem Code ein Applet geschrieben, welches in der Lage ist, das Bild einer fremden Webseite anzuzeigen.
Und wie du sicher weißt, dürfen Applets nicht ohne Weiteres auf Resourcen zugreifen, die sich nicht auf dem gleichen Server wie das Applet befinden.
Dazu musste das Applet signiert werden, weshalb auch die Warnung beim Start angezeigt wird.

Die AccessControlExceptions werden geworfen, weil das Applet André's Bild (einige Beiträge weiter oben) von einem fremden Server holt.

Ich habe deinen Code, so weit das möglich war, korrigiert. Auch das HTML-File habe ich angepasst. Du musst also nur noch für "sinnige" Werte in den Parametern sorgen und das Drag 'n Drop implementieren.

Der Code vom Applet:
Code:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.datatransfer.*;
import java.awt.dnd.*;
import java.io.*;
import java.net.*;
import java.util.*;

public class DFApplet extends Applet {
   private String SID;
   private String TID;
   private Integer orderno;
   private Image img;
   private Frame f;

   public void init() {
      try {
         img = getImage(new URL("http://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png"));
      }
      catch (MalformedURLException e) {
         e.printStackTrace();
      }

      //Parameter aus der Webseite auslesen

      SID = getParameter("SID");
      TID = getParameter("TID");
      orderno = Integer.valueOf(getParameter("OID"));

      //Frame erzeugen und anzeigen
      f = new Frame("Uploader (drop target)");
      f.setSize(250, 100);
      f.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent e) {
            f.dispose();
         }
      });
      f.setVisible(true);

      new DropTarget(f, new DropTargetAdapter() {
         public void drop(DropTargetDropEvent evt) {
            try {
               Transferable t = evt.getTransferable();
               DataFlavor d = evt.getCurrentDataFlavors()[0];
               evt.acceptDrop(evt.getDropAction());
               Vector vec = (Vector) t.getTransferData(d);
               for (int i = 0, j = vec.size(); i < j; i++) {
                  processFile((File) vec.get(i));
               }
            }
            catch (Exception e) {
               e.printStackTrace();
            }
         }
      });
   }

   public void processFile(File f) {
      try {
         /*InputStream serverInput = ClientHttpRequest.post( //ClientHttpRequest ist unbekannt!
            new URL("http://www.xxx.de/test/uptest.php"),
            new Object[] {
               "orderno",
               orderno,
               "SID",
               SID,
               "TID",
               TID,
               "data",
               f
            }
         );*/

      }
      catch (Exception e) {
      }
   }
   
   /** Mit Aufruf dieser Methode kann dem Applet zur Laufzeit von außen ein
    * anderes Bild zur Anzeige übergeben werden.
    */
   public void setImage(Image img) {
      this.img = img;
      repaint();
   }

   public void paint(Graphics g) {
      if(img != null) {
         g.drawImage(img, 0, 0, this);
      }
   }
}

Der Quelltext des HTML-Files:
Code:
<html>
 <head>
  <title>DFApplet-Applet</title>
 </head>
 <body>
  <applet archive="DFApplet.jar" code="DFApplet.class" width="400" height="300">
   <param name="OID" value="5">
   <param name="SID" value="Parameter für SID">
   <param name="TID" value="Parameter für TID">
  </applet>
 </body>
</html>
 

Rex

Bekanntes Mitglied
Ah, vielen, vielen Dank!
Übrigens - die Klasse ClientHTTP-Request kann man sich bei DevX herunterladen:
http://www.devx.com/Java/Article/17679
(Du musst dann aber bei den Headern noch "Accep-Encoding" einfügen, damit auch PHP in den Genuss kommt)

Vielen Dank an Dich und an alle, die mir so geholfen haben!

Rex
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Bild wird trotz MediaTracker nicht oder nur halb gezeichnet Allgemeine Java-Themen 2
berserkerdq2 Wenn ich einfach eine GIF in den Scenebuilder als Bild reinpacke, wird das dann asl Gif angezeigt Allgemeine Java-Themen 1
Tacofan GIF-Bild wird "zerstört" Allgemeine Java-Themen 3
D Java Thread, Bild wird nur am Ende gezeichnet Allgemeine Java-Themen 5
B Bild wird nicht angezeigt. Allgemeine Java-Themen 10
M Eingelesene Bild wird automatisch skaliert Allgemeine Java-Themen 4
I Bild wird zuviel abgeschnitten Allgemeine Java-Themen 2
T ^Wenn Java startet wird das Bild unscharf Allgemeine Java-Themen 8
berserkerdq2 Habe ein svg bild, kann ich das zu svg koordinaten umrechnen, damit ich den Umriss zeichnen kann? Wenn ja wie? Allgemeine Java-Themen 1
OnDemand Prüfen ob Bild defekt ist Allgemeine Java-Themen 4
Y Bild in JPanel setzen Allgemeine Java-Themen 2
Kirby.exe Bild im Zentrum spiegeln Allgemeine Java-Themen 14
I Apache POI Bild in Word ersetzen Allgemeine Java-Themen 15
OnDemand Bild prüfen ob defekt Allgemeine Java-Themen 3
L Input/Output Kassenzettel lesen aus einem Bild Allgemeine Java-Themen 2
K Bild in einem anderen Bild suchen Allgemeine Java-Themen 12
R Compiler-Fehler Bild per E-Mail versenden Allgemeine Java-Themen 3
M Java- Bild gewissen Anzahl von Sekunden anzeigen?! Allgemeine Java-Themen 4
RalleYTN 2D-Grafik Bild mit bilinearer Interpolation skalieren Allgemeine Java-Themen 31
RalleYTN 2D-Grafik Bild ohne AWT, Swing und JavaFX rotieren Allgemeine Java-Themen 12
S Telefonbuch mit Bild Allgemeine Java-Themen 4
A 2D-Grafik Text in ein Bild schreiben Allgemeine Java-Themen 11
B Bild aus Jar kann nach Export nicht mehr gefunden werden Allgemeine Java-Themen 13
T Neuen Kanal in Bild (TIFF) einfügen à la Photoshop Allgemeine Java-Themen 2
Z Zahlen aus Bild auslesen Allgemeine Java-Themen 1
X Bild -> lokale Variable -> DB -> lokale Variable Allgemeine Java-Themen 3
E 3D Objekte in 2D Bild finden Allgemeine Java-Themen 5
R HtmlUnit: Canvas als Bild speichern Allgemeine Java-Themen 0
E am häufigsten vorkommenden Farben aus einem Bild Allgemeine Java-Themen 5
S Bild in Raster Allgemeine Java-Themen 1
S Bild in Frame Allgemeine Java-Themen 0
F Punkte in einem Bild finden Allgemeine Java-Themen 10
A Bild aufteilen für getData Allgemeine Java-Themen 3
P Wie füge ich ein Bild in die GUI ein? Allgemeine Java-Themen 7
F ImageJ: Linien und Schnittpunkte in Bild Allgemeine Java-Themen 1
A mit getClassLoader Bild laden Allgemeine Java-Themen 8
E Bild abspeichern Allgemeine Java-Themen 5
D Face.com - Gesicht im Bild finden Allgemeine Java-Themen 3
N Input/Output Bild von WebSite laden? Allgemeine Java-Themen 3
A Input/Output Bild in Java einlesen und analysieren! Allgemeine Java-Themen 8
S programm um bild auszulesen Allgemeine Java-Themen 2
R Bild offenbar zu groß um geladen zu werden? Allgemeine Java-Themen 12
K Quadrat in einem Bild erkennen Allgemeine Java-Themen 33
B Bild verschieben Allgemeine Java-Themen 6
T Bild in jar Paket einbinden Allgemeine Java-Themen 9
D Bild Typ bestimmen Allgemeine Java-Themen 9
0 2D-Grafik Bild einfärben Allgemeine Java-Themen 8
A Bild zusammenbauen! Allgemeine Java-Themen 5
A Bild von Webcam aufzeichnen Allgemeine Java-Themen 14
V 2D-Grafik Bild transparent machen. Allgemeine Java-Themen 4
H Bild einscannen und speichern Allgemeine Java-Themen 29
E Bild mit Listener einfügen Allgemeine Java-Themen 3
B Bild in String einbauen? Allgemeine Java-Themen 3
C Bild auf HDD speichern Allgemeine Java-Themen 4
X Bild aus dem Netz von URL runterladen und in GUI einbinden. Allgemeine Java-Themen 3
F Bild (Point) mit scrollen lassen Allgemeine Java-Themen 5
R Texterkennung - Text aus einem/r Bild/Grafik auslesen Allgemeine Java-Themen 2
B Bild- und Texterkennung Allgemeine Java-Themen 4
S Tracing eines Bildes (a.ka. Bild vektorisieren)..? Allgemeine Java-Themen 2
destroflyer *.dds-Bild anzeigen Allgemeine Java-Themen 12
F Bild aus externer Quelle laden und Skalieren? Allgemeine Java-Themen 11
X Bild im Memory zwischen speichern Allgemeine Java-Themen 11
R JAI - RGB Bild in 3 Einzelbilder zerlegen Allgemeine Java-Themen 4
P Ascii Bild aus einem input file nur kommt nix im outputfile an?????? Allgemeine Java-Themen 5
A Möglichkeiten, ein Bild schnell auszuwerten Allgemeine Java-Themen 56
K Zeichnen auf ein Bild und Scrollen Allgemeine Java-Themen 7
data89 Barcodes in Bild erkennen Allgemeine Java-Themen 17
S Bild anhand von Koordinaten einteilen Allgemeine Java-Themen 7
K Transparente Bilder in Bild positionieren und speichern. Allgemeine Java-Themen 5
W Bild Spiegeln, aber Originalbild ausblenden Allgemeine Java-Themen 2
Developer_X Avatar/Bild ins Profil einbinden Allgemeine Java-Themen 10
C Bild in .txt speichern und wieder als Bild speichern Allgemeine Java-Themen 2
D Bild in text tabelle umwandeln Allgemeine Java-Themen 2
G bild in package Allgemeine Java-Themen 6
MQue bild zoomen Allgemeine Java-Themen 2
R Farbe im Bild ersetzen Allgemeine Java-Themen 11
R PDF einlesen und als Bild abspeichern Allgemeine Java-Themen 8
P Bild aus dem Internet speichern Allgemeine Java-Themen 4
K Schreiben von Bildern: Bild bleibt leer Allgemeine Java-Themen 7
ARadauer Bild verkleinern. Allgemeine Java-Themen 9
F Bild (File) komplett serialisieren Allgemeine Java-Themen 9
H Wie erstelle ich ein Bild ( GeoTIFF ) ? Allgemeine Java-Themen 2
Ark Bild immer als ARGB laden Allgemeine Java-Themen 2
N Hochgeladenes Bild verkleinern und speichern Allgemeine Java-Themen 2
N Graphics2D als Bild abspeichern Allgemeine Java-Themen 6
M bild verkleinern Allgemeine Java-Themen 9
MQue svg- Bild Allgemeine Java-Themen 34
S JPEG Bild übertragen mit RMI ? Allgemeine Java-Themen 4
V Wie kann ich ein Bild in einem Zip Archiv abspeichern? Allgemeine Java-Themen 3
ToNyXXL Als Mauszeiger eigenes Bild verwenden! Allgemeine Java-Themen 3
M bild erkennung Allgemeine Java-Themen 2
S Bild durchs Label laufen Allgemeine Java-Themen 14
T Bild verliert Inhalt. Allgemeine Java-Themen 6
T Icon -> Bild einladen Allgemeine Java-Themen 18
G Bild neu zeichnen Allgemeine Java-Themen 13
S Bild Größe verändern Allgemeine Java-Themen 2
R Bild flackert nach Java-Install - nur bei Laufschriften. Allgemeine Java-Themen 2
H Bild base64encode als String Allgemeine Java-Themen 9
S Bild aus Zwischenablage in Applet einfügen Allgemeine Java-Themen 2
T Ich bin unfähig ein Bild relativ zu addressieren ... Allgemeine Java-Themen 12

Ähnliche Java Themen

Neue Themen


Oben