Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

images IN frames?

Posted on 2000-02-29
7
187 Views
Last Modified: 2010-03-30
Is it possible to load images in frames?

meaning loading images in extends Frame.

Using sdk2 (jdk 1.2.2.)

how to load? *i not expecting jframe*
0
Comment
Question by:java_kevin
  • 4
  • 3
7 Comments
 
LVL 7

Accepted Solution

by:
Ravindra76 earned 50 total points
ID: 2568881
import java.awt.*;
import java.awt.event.*;

public class Test extends Frame {
      MyCanvas can;
      MyWindowAdapter maw;
      Image img;
      public Test() {
            super("Test text components");
            img = getToolkit().getImage("a.gif");
            can = new MyCanvas();
            can.repaint();
            add(can);
            addWindowListener(maw=new MyWindowAdapter(this));
      }

      public static void main(String arg[]) {
            Test t = new Test();
            t.setSize(300, 300);       
            t.setVisible(true);
      }

      class MyCanvas extends Canvas {
            public MyCanvas(){
                  super();
                  setSize(100,100);
            }
            public void paint(Graphics g) {
                  g.drawImage(img,0,0,this);

            }
      }
       class MyWindowAdapter extends WindowAdapter {
            Frame f;
            public MyWindowAdapter(Frame f) {
                  this.f = f;
            }
            public void windowClosing(WindowEvent e) {
                  f.dispose();
                  System.exit(0);
            }
      }
}
0
 

Author Comment

by:java_kevin
ID: 2569516
But if i extends applet instead of canvas, wat's the diff(erence)?
0
 

Author Comment

by:java_kevin
ID: 2569518
But if i extends applet instead of canvas, wat's the diff(erence)?
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 7

Expert Comment

by:Ravindra76
ID: 2569586


Applet has to be executed on browser..

It is not good to chagne MyCanvas to extend Canvas.

Other wise U can change Frame to Applet

But applet won't have constructors( They have. But we won't  use).

So all the code for frame constructor should be placed in init() method of applet

Best of luck
0
 

Author Comment

by:java_kevin
ID: 2571233
i mean, for the "class within  class", u extended Canvas. If i extend Applet instead, will there be any difference in the way of coding? and what's the difference between extends applet and canvas.

Right now, I'm having applet within frame. Using frame is to enable my project to work. Applet is to provide the image rendering.
0
 
LVL 7

Expert Comment

by:Ravindra76
ID: 2572226
If U ewxtend MyCanvas as applet,
When U have to construct the MyCanvs(), it has to call constructor ..
so applet has to be constructed.
According to sun documentation, don's use constructor to applet because after init() method only,
they are able to execute properly. If U put constructor to applet, the constructor has to be called before
init() which is not preferable.

MyCanvas extending Canvas does not have such problems
Otherwise U can extends as MyCanvas extends Panel, which is same as Applet extending Panel..

ANy how, putting applet in frame for painting is not a better idea.
So U can extend MyCanvas with Canvas or Panel ...

Best of luck
0
 
LVL 7

Expert Comment

by:Ravindra76
ID: 2572233
from http://www.best.com/~pvdl/f.html 

When I subclass Applet, why should I put setup code in the init() method? Why not just a constructor for
my class?

A. The browser invokes your constructor, then setStub, then init(). Hence when your constructor is
invoked, the AppletStub (and through it the AppletContext) is not yet available. Although in principle you
can do things in the constructor that don't rely (even indirectly) on the AppletStub or AppletContext, it is
less error-prone to simply defer all setup to the init method. That way you know that anything that needs
the stub/context will have it available.

0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
oracle 11g 23 106
servlet example 11 49
Java: How do I open the default windows program for a given file type 3 39
Java Eclipse Loop 3 20
An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question