Re: Red X image displayed where the applet should be, applets won't
run
Roedy Green wrote:
On Thu, 03 Apr 2008 13:29:51 +0200, Morten
<Morten.Gulbrandsen@rwth-Aachen.de> wrote, quoted or indirectly quoted
someone who said :
What! Applets require a web server?
you can run them locally too. With a little work, you can also run
them as an Application.
see http://mindprod.com/jgloss/applet.html
for how
Thanks
it seems to work However I found this information easier to understand.
http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Java/Chapter06/images.html
http://tinyurl.com/qb3vu
http://faq.javaranch.com/java/AppletsFaq
http://tinyurl.com/5xutxw
How can an applet load an image?
Image img = getImage(getCodeBase(), "anImage.gif");
that was the right approach.
// "Java Tech"
// Code provided with book for educational purposes only.
// No warranty or guarantee implied.
// This code freely available. No copyright claimed.
// 2003
//
// Begun with StartJApplet2
// minor modifications by morton
/*
<applet code="ImageApplet.class" width="300" height="300">
</applet>
*/
import javax.swing.*;
import java.awt.*;
/** Demonstrate drawing an image. **/
public class ImageApplet extends JApplet
{
static final long serialVersionUID = -7028750069844823554L;
public void init ()
{
Container content_pane = getContentPane();
// Grab the image.
Image img = getImage (getCodeBase(), "duke_waving.gif");
// Create an instance of DrawingPanel
DrawingPanel drawing_panel = new DrawingPanel(img);
// Add the DrawingPanel to the contentPane.
content_pane.add (drawing_panel);
} // End init
} // End ImageApplet
/** Draw on a JPanel rather than on JApplet's Panel. **/
class DrawingPanel extends JPanel
{
static final long serialVersionUID = 5548184581010973132L;
Image img;
DrawingPanel(Image img)
{
this.img = img;
}
public void paintComponent (Graphics g)
{
super.paintComponent (g);
// Use the image width& width to find the starting point
int img_x = getSize().width/2 - img.getWidth(this)/2;
int img_y = getSize().height/2 - img.getHeight(this)/2;
//Draw image at centered in the middle of the panel
g.drawImage(img, img_x, img_y, this);
} // paintComponent
} // class DrawingPanel
/*
javac -Xlint ImageApplet.java
bash-3.00$ javac -Xlint ImageApplet.java
ImageApplet.java:19: warning: [serial] serializable class ImageApplet
has no definition of serialVersionUID
public class ImageApplet extends JApplet
^
ImageApplet.java:45: warning: [serial] serializable class DrawingPanel
has no definition of serialVersionUID
class DrawingPanel extends JPanel
^
2 warnings
bash-3.00$
bash-3.00$ serialver ImageApplet
ImageApplet: static final long serialVersionUID = -7028750069844823554L;
bash-3.00$ serialver DrawingPanel
DrawingPanel: static final long serialVersionUID = 5548184581010973132L;
bash-3.00$
*/
it has two classes and is reported to load on all tested systems with a
recent jvm.
http://tinyurl.com/5x75mp
best regards
Morton