Solved

Can Someone help me make this java run on html...

Posted on 2001-06-18
8
205 Views
Last Modified: 2010-04-16
import java.awt.*;
import javax.swing.*;

class TestFrame extends JFrame
{
  public TestFrame() {
    super( "Graphics demo" );
    getContentPane().add(new JCanvas());
  }

  public static void main( String args[] ) {
    TestFrame mainFrame = new TestFrame();
    mainFrame.pack();
    mainFrame.setVisible( true );
  }
}

class JCanvas extends JComponent
{
  private static Color m_tRed = new Color(255,0,0,150);
  private static Color m_tGreen = new Color(0,255,0,150);
  private static Color m_tBlue = new Color(0,0,255,150);

  private static Font m_biFont = new Font("Monospaced", Font.BOLD | Font.ITALIC, 36);
  private static Font m_pFont = new Font("SanSerif", Font.PLAIN, 12);
  private static Font m_bFont = new Font("Serif", Font.BOLD, 24);
 
  private static ImageIcon m_flight = new ImageIcon("flight.gif");

  public void paintComponent(Graphics g) {
    super.paintComponent(g);
 
    // counter
    int c = 0;

    // for use below
    int w = 0;
    int h = 0;
    int d = 0;

    // get damaged region
    Rectangle r = g.getClipBounds();
    int clipx = r.x;
    int clipy = r.y;
    int clipw = r.width;
    int cliph = r.height;

    // fill only damaged region only
    g.setColor(Color.white);
    g.fillRect(clipx,clipy,clipw,cliph);

    // filled yellow circle if bounding region has been damaged
    if (clipx <= 240 && clipy <= 240) {
      g.setColor(Color.yellow);
      g.fillOval(0,0,240,240); c++;
    }
       
    // filled magenta circle if bounding region has been damaged
    if (clipx + clipw >= 160 && clipx <= 400
        && clipy + cliph >= 160 && clipy <= 400) {
      g.setColor(Color.magenta);
      g.fillOval(160,160,240,240); c++;
    }

    w = m_flight.getIconWidth();
    h = m_flight.getIconHeight();
    // paint the icon below blue sqaure if bounding region has been damaged
    if (clipx + clipw >= 280-(w/2) && clipx <= (280+(w/2))
        && clipy + cliph >= 120-(h/2) && clipy <= (120+(h/2))) {
      m_flight.paintIcon(this,g,280-(w/2),120-(h/2)); c++;
    }

    // paint the icon below red sqaure if bounding region has been damaged
    if (clipx + clipw >= 120-(w/2) && clipx <= (120+(w/2))
        && clipy + cliph >= 280-(h/2) && clipy <= (280+(h/2))) {
      m_flight.paintIcon(this,g,120-(w/2),280-(h/2)); c++;
    }

    // filled transparent red square if bounding region has been damaged
    if (clipx + clipw >= 60 && clipx <= 180
        && clipy + cliph >= 220 && clipy <= 340) {
      g.setColor(m_tRed);
      g.fillRect(60,220,120,120); c++;
    }

    // filled transparent green circle if bounding region has been damaged
    if (clipx + clipw > 140 && clipx < 260
        && clipy + cliph > 140 && clipy < 260) {
      g.setColor(m_tGreen);
      g.fillOval(140,140,120,120); c++;
    }

    // filled transparent blue square if bounding region has been damaged
    if (clipx + clipw > 220 && clipx < 380
        && clipy + cliph > 60 && clipy < 180) {
      g.setColor(m_tBlue);
      g.fillRect(220,60,120,120); c++;
    }

    g.setColor(Color.black);

    g.setFont(m_biFont);
    FontMetrics fm = g.getFontMetrics();
    w = fm.stringWidth("Swing");
    h = fm.getAscent();
    d = fm.getDescent();
    // Bold, Italic, 36-point "Swing" if bounding region has been damaged
    if (clipx + clipw > 120-(w/2) && clipx < (120+(w/2))
        && clipy + cliph > (120+(h/4))-h && clipy < (120+(h/4))+d) {
      g.drawString("Swing",120-(w/2),120+(h/4)); c++;
    }

    g.setFont(m_pFont);
    fm = g.getFontMetrics();
    w = fm.stringWidth("is");
    h = fm.getAscent();
    d = fm.getDescent();
    // Plain, 12-point "is" if bounding region has been damaged
    if (clipx + clipw > 200-(w/2) && clipx < (200+(w/2))
        && clipy + cliph > (200+(h/4))-h && clipy < (200+(h/4))+d) {
      g.drawString("is",200-(w/2),200+(h/4)); c++;
    }

    g.setFont(m_bFont);
    fm = g.getFontMetrics();
    w = fm.stringWidth("powerful!!");
    h = fm.getAscent();
    d = fm.getDescent();
    // Bold 24-point "powerful!!" if bounding region has been damaged
    if (clipx + clipw > 280-(w/2) && clipx < (280+(w/2))
        && clipy + cliph > (280+(h/4))-h && clipy < (280+(h/4))+d) {
      g.drawString("powerful!!",280-(w/2),280+(h/4)); c++;
    }

    System.out.println("# items repainted = " + c + "/10");
  }
 
  // Some layout managers need this information
  public Dimension getPreferredSize() {
    return new Dimension(400,400);
  }

  // Some layout managers need this information
  public Dimension getMinimumSize() {
    return getPreferredSize();
  }
}
0
Comment
Question by:foxx3001
[X]
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
  • 5
  • 2
8 Comments
 
LVL 3

Expert Comment

by:shyamkumarreddy
ID: 6205087
what is the probs fox


shyam
0
 

Author Comment

by:foxx3001
ID: 6205189
i wanna make it run in the html mode....i mean in the browser......
how can i altered it to make available in the html file...
0
 
LVL 3

Accepted Solution

by:
rjackman earned 150 total points
ID: 6205461
hi
i had alterd ur file a bit
have extended ur class from JApplet instead of JFrame
and added init()
also try this code in appletviewer
if u want this code to run in browser then u have to get the plugin and html converter
then pass the html to converter which will convert the html to such a format to be displayed on to browser using plugin
u will get the plugin from the sun site
http://java.sun.com/products/plugin/

import java.awt.*;
import javax.swing.*;

public class TestFrame extends JApplet
{
 public void init() {
   //super( "Graphics demo" );
   this.getContentPane().add(new JCanvas());
 }

 public static void main( String args[] ) {
   TestFrame mainFrame = new TestFrame();
   //mainFrame.pack();
   mainFrame.setVisible( true );
 }
}

class JCanvas extends JComponent
{
 private static Color m_tRed = new Color(255,0,0,150);
 private static Color m_tGreen = new Color(0,255,0,150);
 private static Color m_tBlue = new Color(0,0,255,150);

 private static Font m_biFont = new Font("Monospaced", Font.BOLD | Font.ITALIC, 36);
 private static Font m_pFont = new Font("SanSerif", Font.PLAIN, 12);
 private static Font m_bFont = new Font("Serif", Font.BOLD, 24);
 
 private static ImageIcon m_flight = new ImageIcon("flight.gif");

 public void paintComponent(Graphics g) {
   super.paintComponent(g);
 
   // counter
   int c = 0;

   // for use below
   int w = 0;
   int h = 0;
   int d = 0;

   // get damaged region
   Rectangle r = g.getClipBounds();
   int clipx = r.x;
   int clipy = r.y;
   int clipw = r.width;
   int cliph = r.height;

   // fill only damaged region only
   g.setColor(Color.white);
   g.fillRect(clipx,clipy,clipw,cliph);

   // filled yellow circle if bounding region has been damaged
   if (clipx <= 240 && clipy <= 240) {
     g.setColor(Color.yellow);
     g.fillOval(0,0,240,240); c++;
   }
       
   // filled magenta circle if bounding region has been damaged
   if (clipx + clipw >= 160 && clipx <= 400
       && clipy + cliph >= 160 && clipy <= 400) {
     g.setColor(Color.magenta);
     g.fillOval(160,160,240,240); c++;
   }

   w = m_flight.getIconWidth();
   h = m_flight.getIconHeight();
   // paint the icon below blue sqaure if bounding region has been damaged
   if (clipx + clipw >= 280-(w/2) && clipx <= (280+(w/2))
       && clipy + cliph >= 120-(h/2) && clipy <= (120+(h/2))) {
     m_flight.paintIcon(this,g,280-(w/2),120-(h/2)); c++;
   }

   // paint the icon below red sqaure if bounding region has been damaged
   if (clipx + clipw >= 120-(w/2) && clipx <= (120+(w/2))
       && clipy + cliph >= 280-(h/2) && clipy <= (280+(h/2))) {
     m_flight.paintIcon(this,g,120-(w/2),280-(h/2)); c++;
   }

   // filled transparent red square if bounding region has been damaged
   if (clipx + clipw >= 60 && clipx <= 180
       && clipy + cliph >= 220 && clipy <= 340) {
     g.setColor(m_tRed);
     g.fillRect(60,220,120,120); c++;
   }

   // filled transparent green circle if bounding region has been damaged
   if (clipx + clipw > 140 && clipx < 260
       && clipy + cliph > 140 && clipy < 260) {
     g.setColor(m_tGreen);
     g.fillOval(140,140,120,120); c++;
   }

   // filled transparent blue square if bounding region has been damaged
   if (clipx + clipw > 220 && clipx < 380
       && clipy + cliph > 60 && clipy < 180) {
     g.setColor(m_tBlue);
     g.fillRect(220,60,120,120); c++;
   }

   g.setColor(Color.black);

   g.setFont(m_biFont);
   FontMetrics fm = g.getFontMetrics();
   w = fm.stringWidth("Swing");
   h = fm.getAscent();
   d = fm.getDescent();
   // Bold, Italic, 36-point "Swing" if bounding region has been damaged
   if (clipx + clipw > 120-(w/2) && clipx < (120+(w/2))
       && clipy + cliph > (120+(h/4))-h && clipy < (120+(h/4))+d) {
     g.drawString("Swing",120-(w/2),120+(h/4)); c++;
   }

   g.setFont(m_pFont);
   fm = g.getFontMetrics();
   w = fm.stringWidth("is");
   h = fm.getAscent();
   d = fm.getDescent();
   // Plain, 12-point "is" if bounding region has been damaged
   if (clipx + clipw > 200-(w/2) && clipx < (200+(w/2))
       && clipy + cliph > (200+(h/4))-h && clipy < (200+(h/4))+d) {
     g.drawString("is",200-(w/2),200+(h/4)); c++;
   }

   g.setFont(m_bFont);
   fm = g.getFontMetrics();
   w = fm.stringWidth("powerful!!");
   h = fm.getAscent();
   d = fm.getDescent();
   // Bold 24-point "powerful!!" if bounding region has been damaged
   if (clipx + clipw > 280-(w/2) && clipx < (280+(w/2))
       && clipy + cliph > (280+(h/4))-h && clipy < (280+(h/4))+d) {
     g.drawString("powerful!!",280-(w/2),280+(h/4)); c++;
   }

   System.out.println("# items repainted = " + c + "/10");
 }
 
 // Some layout managers need this information
 public Dimension getPreferredSize() {
   return new Dimension(400,400);
 }

 // Some layout managers need this information
 public Dimension getMinimumSize() {
   return getPreferredSize();
 }
}
*******************
//the html

<html>
<applet code ="TestReader.class" width=500 height=500>
</applet>
</html>
0
Transaction Monitoring Vs. Real User Monitoring

Synthetic Transaction Monitoring Vs. Real User Monitoring: When To Use Each Approach? In this article, we will discuss two major monitoring approaches: Synthetic Transaction and Real User Monitoring.

 

Author Comment

by:foxx3001
ID: 6205651
Hi....Thanks rjackman.....
Can i get your email......
i need a your advise in java and i wanna mail u a java fail.....i hope you can give me a solution....

thank for your concern
0
 

Author Comment

by:foxx3001
ID: 6205655
can i have your email......
need to learn more with you
0
 
LVL 3

Expert Comment

by:rjackman
ID: 6205715
hi
my emailid is
rickyjackman@usa.net
cheers
RJ
0
 

Author Comment

by:foxx3001
ID: 6237296
hai....mana datangnyer markah yang banyak2 tue....main tipu yer...!!!!!
0
 

Author Comment

by:foxx3001
ID: 6237306
excuse me...english pleaseee......
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

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…
Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…

688 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