Question

Applet Problems: Layout of components and running applet in brower.

Asked by: theta

Hi,

I have written a small application which displays *.jpg files and allows to go to 'Preveious' and 'Next' image using buttons. When I converted the application in an Applet and ran it, the image size became very small like 4x4 pixels and the button which were supposed to be at the bottom, moved to the top. Is this a layout issue? How can I fix it?

Also I am able to run the applet only using the 'AppletViewer', when I ran it under NetScape or IE, the image comes as gray block on the web page. The class files are in the same directory where I have my html file.

Note: In my code I am using two separate panels, one for the image and the other for the buttons. ImagePanel is using the default layout, which is the FlowLayout and I am using GridBagLayout for the buttonPanel.

Thanks.
Theta.

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2001-05-22 at 09:34:01ID20122246
Topics

Java Programming Language

,

New to Java Programming

Participating Experts
5
Points
50
Comments
18

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. applet
    what is the default layout for applet?

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: omry_yPosted on 2001-05-22 at 12:18:11ID: 6109105

try to set the layout of your applet to border layour and add your stuff in the middle.

something like :

public void init()
{
    Panel content = new Panel();
    //.. add your stuff to the panel, dont
    // forget to set the layout of content.

    setLayout(new BorderLayout());
    add(content,"Center");
}

if it doesnt work, post your code.

 

by: shyamkumarreddyPosted on 2001-05-22 at 21:54:07ID: 6110632

Hi Theta

Just u can try this.
Just note down the size of the frame in your application.
Now change the applet height and width tag according to the size of the Frame
Then run
R u using the default layout or u have one???

Tell me what it happens

Cheers
Shyam

 

by: thetaPosted on 2001-05-25 at 07:27:30ID: 6121308

Syam, I tried what you suggested and it didn't work.


omry,

I tried your suggestion, it didn't work. Now I get a bigger gray box on the browser in IE, and in Netscape I get error: java.lang.NoClassDefFoundError: javax/swing/JApplet.
Here is a piece of my code:

class APanel extends JPanel {
     public APanel() {
          setSize(500, 500);
          add(imgPanel);
          add(mPanel, "South");
     }

     class MainPanel extends JPanel implements ActionListener {
                         public MainPanel() {
          setLayout(new GridBagLayout());
          GridBagConstraints gbc = new GridBagConstraints();

          Border beveled = BorderFactory.createEtchedBorder();
                                setBorder(BorderFactory.createTitledBorder(beveled, ""));

                                gbc.weightx = 1.0;
          gbc.gridx = 0; gbc.gridy = 0;
          gbc.gridwidth = 5; gbc.gridheight = 1;
          gbc.anchor = GridBagConstraints.WEST;
          gbc.fill = GridBagConstraints.HORIZONTAL;

          add(PicLabel, gbc);

          gbc.weightx = .20;
          gbc.gridx = 5; gbc.gridy = 0;
          gbc.gridwidth = 1; gbc.gridheight = 1;
          gbc.anchor = GridBagConstraints.CENTER;

          add(PrevButton, gbc);

          gbc.gridx = 6; gbc.gridy = 0;
          gbc.gridwidth = 1; gbc.gridheight = 1;
          gbc.anchor = GridBagConstraints.CENTER;

          add(NextButton, gbc);

          PrevButton.addActionListener(this);
          NextButton.addActionListener(this);

          PicLabel.setHorizontalAlignment(SwingConstants.LEFT);
          PicLabel.setText(imgPanel.getPicText());
     }

     public void actionPerformed(ActionEvent evt) {
               Object source = evt.getSource();
               JButton jb = (JButton)source;

               if (jb.getText().equals("Prev")) {
          imgPanel.LoadPrevImage();
          PicLabel.setText(imgPanel.getPicText());
          imgPanel.repaint();
               }
               else {
          imgPanel.LoadNextImage();
          PicLabel.setText(imgPanel.getPicText());
          imgPanel.repaint();
              }
                }      
           }

          JPanel TopPanel = new JPanel();
          JPanel BotPanel = new JPanel();
          JButton PrevButton  = new JButton("Prev");
          JButton NextButton  = new JButton("Next");
          JLabel PicLabel = new JLabel("");
          ImagePanel imgPanel = new ImagePanel();

          MainPanel  mPanel     = new MainPanel();
}

public class MyPicsApplet extends JApplet {
     public void init () {
          Container contentPane = getContentPane();
          contentPane.add(new APanel());
          contentPane.setLayout(new BorderLayout());

          setLayout(new BorderLayout());
          add(contentPane, "Center");
     }
}

 

by: shyamkumarreddyPosted on 2001-05-25 at 07:36:34ID: 6121339

Hey theta

I got the probs now
By using Applet tag for swings won't work

U cann't run swings in IE or Netscape till now their are not enabled it

U need some type of java plugin
to run this application

Please download the java plug and run

ur application will surely 100% run on the java plug in

And one more point if now

And don't use Applet tag

Use these tags in HTML instead of applet
IE ---- Object
NEtscape ---- embed tags
Please refer www.javasoft.com for java plugins


And download swingsall.jar or put this rt.jar into the archive tag inside object tag and run the application

It will run

Cheers
Shyam


 

by: shyamkumarreddyPosted on 2001-05-25 at 07:38:12ID: 6121347

Try the plugin first

Then try to put jar files into archive tags if it doesn't work

Clear ur cache each of browser each time


Cheers
Shyam

 

by: shyamkumarreddyPosted on 2001-05-25 at 10:10:40ID: 6122010

Hi theta
I will off to my office
I hope u will try the above methods
Catch u on Monday

Bye
Shyam

 

by: thetaPosted on 2001-05-31 at 10:24:40ID: 6142483

Shyam,

Thank you for your replies. I changed the code to use the AWT components, instead of Swing, but I still get the same result. Do I still need Java Plugin? Also, when I ran the applet using Appletviewer, I can't see my image anymore, just the buttons. Are there any border layouts which work with AWT? Becuase I think the reason its not showing my image is that I don't have a boder anymore.

Thanks.
Theta.

 

by: shyamkumarreddyPosted on 2001-05-31 at 21:07:45ID: 6144508

Hi Theta

Can u send me the code across. I will check and will give u the correct code for u.


Send it to shyam@comneti.com


Shyam

 

by: omry_yPosted on 2001-06-01 at 04:27:24ID: 6145466

dont use swing for an applet.
use normal awt.
try this as a base.



import java.awt.*;
import java.awt.event.*;
import java.applet.*;


class APanel extends Panel {
    public APanel() {
         setSize(500, 500);
         add(imgPanel);
         add(mPanel, "South");
    }

    class MainPanel extends Panel implements ActionListener {
                        public MainPanel() {
         setLayout(new GridBagLayout());
         GridBagConstraints gbc = new GridBagConstraints();

           // NOTE : no borders in AWT.
//         Border beveled = BorderFactory.createEtchedBorder();
//                               setBorder(BorderFactory.createTitledBorder(beveled, ""));

                               gbc.weightx = 1.0;
         gbc.gridx = 0; gbc.gridy = 0;
         gbc.gridwidth = 5; gbc.gridheight = 1;
         gbc.anchor = GridBagConstraints.WEST;
         gbc.fill = GridBagConstraints.HORIZONTAL;

         add(PicLabel, gbc);

         gbc.weightx = .20;
         gbc.gridx = 5; gbc.gridy = 0;
         gbc.gridwidth = 1; gbc.gridheight = 1;
         gbc.anchor = GridBagConstraints.CENTER;

         add(PrevButton, gbc);

         gbc.gridx = 6; gbc.gridy = 0;
         gbc.gridwidth = 1; gbc.gridheight = 1;
         gbc.anchor = GridBagConstraints.CENTER;

         add(NextButton, gbc);

         PrevButton.addActionListener(this);
         NextButton.addActionListener(this);

         PicLabel.setAlignment(Label.LEFT);
         PicLabel.setText(imgPanel.getPicText());
    }

    public void actionPerformed(ActionEvent evt) {
              Object source = evt.getSource();
              Button jb = (Button)source;

              if (jb.getActionCommand().equals("Prev")) {
         imgPanel.LoadPrevImage();
         PicLabel.setText(imgPanel.getPicText());
         imgPanel.repaint();
              }
              else {
         imgPanel.LoadNextImage();
         PicLabel.setText(imgPanel.getPicText());
         imgPanel.repaint();
             }
               }
          }

         Panel TopPanel = new Panel();
         Panel BotPanel = new Panel();
         Button PrevButton  = new Button("Prev");
         Button NextButton  = new Button("Next");
         Label PicLabel = new Label("");
         ImagePanel imgPanel = new ImagePanel();

         MainPanel  mPanel     = new MainPanel();
}

public class MyPicsApplet extends Applet {
    public void init () {
         Container contentPane = new Panel();
         contentPane.add(new APanel());
         contentPane.setLayout(new BorderLayout());

         setLayout(new BorderLayout());
         add(contentPane, "Center");
    }
}

 

by: thetaPosted on 2001-07-09 at 13:15:58ID: 6266666

Couldn't get a workable answer from the experts.

 

by: thetaPosted on 2001-07-09 at 13:16:04ID: 6266668

Couldn't get a workable answer from the experts.

 

by: DanRollinsPosted on 2002-06-18 at 06:07:17ID: 7088530

Hi theta,
You've requested to delete this question, but its status has remained as 'Pending Delete' because one or more comments have been added.  Normally, the only way to fully delete such a Question is to post a message to Community Support and ask for assistance.

EE is making a one-time database sweep to purge the Pending Delete Questions automatically.  During this sweep:

    theta -- To allow the deletion to proceed:  Do nothing.
    EXPERTS -- Please DON'T POST a comment except to contest this deletion.

In the future, please refer to http://www.experts-exchange.com/jsp/cmtyHelpDesk.jsp#8 for instruction on deleting questions.

DanRollins -- EE database cleanup volunteer

 

by: omry_yPosted on 2002-06-18 at 12:32:20ID: 7090669

I object.
my last comment is a port of his not-compiling swing code to not-compiling awt code which, once fixed to compile, will work just fine in explorer.

 

by: shyamkumarreddyPosted on 2002-06-19 at 00:46:08ID: 7091974

Guys,
Omry i already suggest this to the questionairre. But is it not really working is the question is. Because i know the solution provided by me is workable and working offcourse.

Shyam

 

by: DanRollinsPosted on 2002-06-23 at 21:10:51ID: 7102637

Recommended disposition:

    Split points between: omry_y and shyamkumarreddy

DanRollins -- EE database cleanup volunteer

 

by: omry_yPosted on 2002-06-23 at 23:21:36ID: 7102819

I accept.

 

by: krakatoaPosted on 2003-07-22 at 07:45:15ID: 8977087

No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:
Accept omry_y's comment as Answer
Please leave any comments here within the next seven days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

krakatoa
EE Cleanup Volunteer

 

by: VenabiliPosted on 2003-08-29 at 03:54:54ID: 9246901

No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

- Split points between shyamkumarreddy and omry_y

Please leave any comments here within the next seven days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

Venabili
EE Cleanup Volunteer

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...