Easy to Learn Java: Programming Articles, Examples and Tips

Start with Java in a few days with Java Lessons or Lectures

Home

Code Examples

Java Tools

More Java Tools!

Java Forum

All Java Tips

Books

Submit News
Search the site here...
Search...
 
Search the JavaFAQ.nu
1000 Java Tips ebook

1000 Java Tips - Click here for the high resolution copy!1000 Java Tips - Click here for the high resolution copy!

Java Screensaver, take it here

Free "1000 Java Tips" eBook is here! It is huge collection of big and small Java programming articles and tips. Please take your copy here.

Take your copy of free "Java Technology Screensaver"!.

Easy Learn Java: Programming Articles, Examples and Tips - Page 321


Previous 1060 Stories (530 Pages, 2 Per Page) Next

The Java Lesson 35: Essential HTML to launch an applet and pass it parameters

Go to all tips in Java Lessons by Jon Huhtala
All Java Lessons contents page | Java Lesson 1 | Java Lesson 2 | Java Lesson 3 | Java Lesson 4 | Java Lesson 5 | Java Lesson 6 | Java Lesson 7 | Java Lesson 8 | Java Lesson 9 | Java Lesson 10 | Java Lesson 11 | Java Lesson 12 | Java Lesson 13 | Java Lesson 14 | Java Lesson 15 | Java Lesson 16 | Java Lesson 17 | Java Lesson 18 | Java Lesson 19 | Java Lesson 20 | Java Lesson 21 | Java Lesson 22 | Java Lesson 23 | Java Lesson 24 | Java Lesson 25 | Java Lesson 26 | Java Lesson 27 | Java Lesson 28 | Java Lesson 29 | Java Lesson 30 | Java Lesson 31 | Java Lesson 32 | Java Lesson 33 | Java Lesson 34 | Java Lesson 35 | Java Lesson 36 | Java Lesson 37 | Java Lesson 38 | Java Lesson 39 | Java Lesson 40 | Java Lesson 41 | Java Lesson 42 | Java Lesson 43 | Java Lesson 44 | Java Lesson 45 | Java Lesson 46

Java Lesson 35 by Jon Huhtala: Essential HTML to launch an applet and pass it parameters


Web pages

  • Are really text documents, in spite of their fancy features

  • Can be created or viewed with any text editor, such as Microsoft Word or Windows Notepad

  • Have a file extension of either .htm or .html

HyperText Markup Language (HTML)

  • Enhances the capabilities of text-only documents to permit special text formatting, links to other pages, and the insertion of objects (audio files, graphic files, etc.). It also provides for the insertion and execution of Java applets.

  • Uses special tags (codes) within the text file. The tags are acted upon by the browser when the Web page is loaded.

Example: Displaying text in bold

This will be bold

Notes:

  1. The tag marks the beginning of bold text and the marks the end of bold text

  2. HTML tags are not case sensitive. These tags could have been coded and .

  3. Most text formatting tags are paired. There is a beginning tag and ending tag.

  1. Other HTML tags exist to specify text size, italicizing, centering, the start of a new paragraph, etc.

Example: Inserting a graphic image

<<IMG SRC=myPhoto.html WIDTH=100 HEIGHT=150>>

Notes:

  1. This tag has attributes (parameters) that specify the file name as well as the image width and height in pixels

  2. Unlike HTML tags and attributes, file names are case sensitive. Proper capitalization must be maintained.

  1. The image will appear at the location of the tag within the document

  2. Tags that insert image objects and audio clips are not paired

  • Is simplified by the use of various software products. In fact, a detailed understanding of HTML is no longer required to create sophisticated Web pages.

Products like Netscape Composer and Microsoft FrontPage are typically used to build Web pages using a WYSIWYG (What You See Is What You Get) approach. The HTML tags are generated automatically.

The only HTML you are required to learn in this course involves launching a Java applet. While some packages help generate the tags, it is sometimes necessary to code or edit the tags manually.

Launching an applet in an HTML document

  • Requires a pair of tags. The first tag must have attributes that identify the class name of the applet and its size in pixels. The second tag marks the end of the pair.

Example: Launching a simple applet

Notes:

  1. In order to launch the applet, the browser must be Java enabled. Otherwise, the tags are ignored.

  2. The attributes can be coded in any order

  3. The CODE= attribute specifies the name of the applet's .class file (the bytecode file generated by the Java compiler). If no path is specified, the file is assumed to exist in the same server directory as the web page. This attribute may optionally be coded within quotes. For example, CODE="MyApplet.class"

  1. The initial pixel width and height of the screen area used by the applet are specified by the WIDTH= and HEIGHT= attributes. A call to the resize() method within the applet class can modify this size. A maximum size of 600 x 400 is recommended for proper display regardless of the graphics resolution.

  2. There are many other attributes for an ...> tag but only the ones shown in this example are required.

    Example: Launching an applet that receives a parameter


    Notes:

    1. The tag is required for each parameter that is passed to an applet.

    2. The NAME= attribute specifies the case-sensitive identifier of the parameter. The VALUE= attribute specifies a case-sensitive string value associated with the parameter. It must be coded in quotes if it contains any spaces. For example, a tag to pass a message to an applet might contain the attribute VALUE="Hello world!"

    1. To retrieve the parameter's value from the browser, the following expression must be coded within the applet:

    getParameter("taxRate")

    In this example, the value received from the browser would be a String object having the value ".06"

    1. There is no restriction on the number of parameters. Simply code a PARAM tag for each one and place them between the and tags.

    A sample applet that receives a parameter

    This applet is a very slightly modified version of the applet from the previous lesson. The message it displays when the user clicks the button is received as a parameter from the HTML within the Web page.

    To test the applet, a tag such as

    must exist in the App.html source file between the ...> and tags. To verify that the tag exists, or to add it if it doesn't, use any text editor (such as Notepad).

    The applet's code is as follows:

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

    public class App extends Applet implements ActionListener {

    Button b = new Button("Show message");
    TextField message = new TextField("", 15);

    public void init() {
    resize(300, 100);
    setBackground(Color.lightGray);
    b.addActionListener(this);
    add(b);
    message.setFont(new Font("Serif", Font.ITALIC, 24));
    message.setForeground(Color.red);
    message.setEditable(false);
    add(message);
    }

    public void actionPerformed(ActionEvent e) {
    if (message.getText().length() == 0) {
    message.setText(getParameter("message"));
    b.setLabel("Clear message");
    }
    else {
    message.setText("");
    b.setLabel("Show message");
    }
    }
    }

    Posting a Web page that launches a custom applet

    All you must do is upload the .html file of the Web page and the .class file of the applet to your Web server. The rest is automatic!

    Lab exercise for Ferris students

    E-mail your answers to this assignment no later than the due date listed in the class schedule.

    Review questions

    1. True or False: If a Web page plays an audio clip, the audio clip must be stored within the Web page.

    1. True

    1. False

    1. Which one of the following satisfy the minimum tag requirements for launching an applet?

      1. A parameter passed to an applet from the launching Web page may be of what data type?

        1. only a primitive type (boolean, char, byte, short, int, long, float, or double)

        1. any primitive type or a string

        2. only a string

        3. only a char, int, or double primitive type

        4. only a char, int, or double primitive type or a string

      1. If the following tag is associated with an applet being launched from an HTML document, which of the statements below are true? (choose two)

      1. the applet will receive two parameters

      2. the applet will receive one parameter

      3. the expression: getParameter("x") will return a string with the value "y"

      4. the expression: getParameter(x) will return a string with the value "y"

      5. the expression: getParameter("NAME") will return a string with the value "x"


      12315 bytes more | 7 comments | Printer Friendly Page  Send to a Friend | Score: 0

Posted by jalex on Monday, March 14, 2005 (00:00:00) (9443 reads)

Java: Big Blob Structure

Go to all tips in Java Notes by Fred Swartz

Sample window

You'll see a lot of programs that look like the following. They jam the main program, the GUI, and the model into one file. Many text books show this style, not because it is what you should use, but because it's easier to show it in a text book: everything is in one file.

Don't use this structure except for the absolutely simplest programs. It's hard to read, maintain, and enhance.

  1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
 30 
 31 
 32 
 33 
 34 
 35 
 36 
 37 
 38 
 39 
 40 
 41 
 42 
 43 
 44 
 45 
 46 
 47 
 48 
 49 
 50 
 51 
 52 
 53 
 54 
 55 
 56 
 57 
 58 
 59 
 60 
 61 
 62 
 63 
 64 
 65 
 66 
 67 
 68 
 69 
 70 
 71 
 72 
 73 
 74 
 75 
 76 
 77 
 78 
 79 
 80 
 81 
 82 
 83 
 84 
 85 
 86 
// structure/BigBlob.java -- Everything in one file.
// Fred Swartz - December 2004

//     A common style of programming is to put all processing
//     in the GUI.  This works Ok as long at the "model", the
//     logic, is so small that it isn't worth putting into
//     a separate class.  
//
//     However, mixing model with presentation usually makes the program hard
//      to read, and the inevitable growth of the program leads to a mess.
//
//     This fails the simple Interface Independence test.
//       Could the model easily work with a command line or web interface? No.
//
//     It also fails the Model Independence test.
//       Could we easily change the model, eg, to BigDecimal?  No.


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.math.BigInteger;

public class BigBlob {    
    public static void main(String[] args) {
        JFrame window = new BigBlobGUI();
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setTitle("Simple Calc");
        window.setVisible(true);
    }
}


class BigBlobGUI extends JFrame {
    //... Constants
    private static final String INITIAL_VALUE = "1";
    
    //... Components
    private JTextField m_totalTf     = new JTextField(10);
    private JTextField m_userInputTf = new JTextField(10);
    private JButton    m_multiplyBtn = new JButton("Multiply");
    private JButton    m_clearBtn    = new JButton("Clear");
    
    private BigInteger m_total;  // The total current value state.
    
    /** Constructor */
    BigBlobGUI() {
        //... Initialize components and model
        m_total = new BigInteger(INITIAL_VALUE);
        m_totalTf.setText(INITIAL_VALUE);
        m_totalTf.setEditable(false);
        
        //... Layout the components.        
        JPanel content = new JPanel();
        content.setLayout(new FlowLayout());
        content.add(new JLabel("Input"));
        content.add(m_userInputTf);
        content.add(m_multiplyBtn);
        content.add(new JLabel("Total"));
        content.add(m_totalTf);
        content.add(m_clearBtn);
        
        //... finalize layout
        this.setContentPane(content);
        this.pack();
        
        //... Listener to do multiplication
        m_multiplyBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    m_total = m_total.multiply(new BigInteger(m_userInputTf.getText()));
                    m_totalTf.setText(m_total.toString());
                } catch (NumberFormatException nex) {
                    JOptionPane.showMessageDialog(BigBlobGUI.this, "Bad Number");
                }
            }
        });
        
        //... Listener to clear.
        m_clearBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                m_total = new BigInteger(INITIAL_VALUE);
                m_totalTf.setText(INITIAL_VALUE);
            }
        });
    }
}


6 comments | Printer Friendly Page  Send to a Friend | Score: 0
Posted by jalex on Sunday, March 13, 2005 (00:00:00) (2627 reads)

Previous 1060 Stories (530 Pages, 2 Per Page) Next

530| 529| 528| 527| 526| 525| 524| 523| 522| 521| 520| 519| 518| 517| 516| 515| 514| 513| 512| 511| 510| 509| 508| 507| 506| 505| 504| 503| 502| 501| 500| 499| 498| 497| 496| 495| 494| 493| 492| 491| 490| 489| 488| 487| 486| 485| 484| 483| 482| 481| 480| 479| 478| 477| 476| 475| 474| 473| 472| 471| 470| 469| 468| 467| 466| 465| 464| 463| 462| 461| 460| 459| 458| 457| 456| 455| 454| 453| 452| 451| 450| 449| 448| 447| 446| 445| 444| 443| 442| 441| 440| 439| 438| 437| 436| 435| 434| 433| 432| 431| 430| 429| 428| 427| 426| 425| 424| 423| 422| 421| 420| 419| 418| 417| 416| 415| 414| 413| 412| 411| 410| 409| 408| 407| 406| 405| 404| 403| 402| 401| 400| 399| 398| 397| 396| 395| 394| 393| 392| 391| 390| 389| 388| 387| 386| 385| 384| 383| 382| 381| 380| 379| 378| 377| 376| 375| 374| 373| 372| 371| 370| 369| 368| 367| 366| 365| 364| 363| 362| 361| 360| 359| 358| 357| 356| 355| 354| 353| 352| 351| 350| 349| 348| 347| 346| 345| 344| 343| 342| 341| 340| 339| 338| 337| 336| 335| 334| 333| 332| 331| 330| 329| 328| 327| 326| 325| 324| 323| 322|
321
| 320| 319| 318| 317| 316| 315| 314| 313| 312| 311| 310| 309| 308| 307| 306| 305| 304| 303| 302| 301| 300| 299| 298| 297| 296| 295| 294| 293| 292| 291| 290| 289| 288| 287| 286| 285| 284| 283| 282| 281| 280| 279| 278| 277| 276| 275| 274| 273| 272| 271| 270| 269| 268| 267| 266| 265| 264| 263| 262| 261| 260| 259| 258| 257| 256| 255| 254| 253| 252| 251| 250| 249| 248| 247| 246| 245| 244| 243| 242| 241| 240| 239| 238| 237| 236| 235| 234| 233| 232| 231| 230| 229| 228| 227| 226| 225| 224| 223| 222| 221| 220| 219| 218| 217| 216| 215| 214| 213| 212| 211| 210| 209| 208| 207| 206| 205| 204| 203| 202| 201| 200| 199| 198| 197| 196| 195| 194| 193| 192| 191| 190| 189| 188| 187| 186| 185| 184| 183| 182| 181| 180| 179| 178| 177| 176| 175| 174| 173| 172| 171| 170| 169| 168| 167| 166| 165| 164| 163| 162| 161| 160| 159| 158| 157| 156| 155| 154| 153| 152| 151| 150| 149| 148| 147| 146| 145| 144| 143| 142| 141| 140| 139| 138| 137| 136| 135| 134| 133| 132| 131| 130| 129| 128| 127| 126| 125| 124| 123| 122| 121| 120| 119| 118| 117| 116| 115| 114| 113| 112| 111| 110| 109| 108| 107| 106| 105| 104| 103| 102| 101| 100| 99| 98| 97| 96| 95| 94| 93| 92| 91| 90| 89| 88| 87| 86| 85| 84| 83| 82| 81| 80| 79| 78| 77| 76| 75| 74| 73| 72| 71| 70| 69| 68| 67| 66| 65| 64| 63| 62| 61| 60| 59| 58| 57| 56| 55| 54| 53| 52| 51| 50| 49| 48| 47| 46| 45| 44| 43| 42| 41| 40| 39| 38| 37| 36| 35| 34| 33| 32| 31| 30| 29| 28| 27| 26| 25| 24| 23| 22| 21| 20| 19| 18| 17| 16| 15| 14| 13| 12| 11| 10| 9| 8| 7| 6| 5| 4| 3| 2| 1|


Home Code Examples Java Forum All Java Tips Books Submit News, Code... Search... Offshore Software Tech Doodling

RSS feed Java FAQ RSS feed Java FAQ News     

    RSS feed Java Forums RSS feed Java Forums

All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest 1999-2006 by Java FAQs Daily Tips.

Interactive software released under GNU GPL, Code Credits, Privacy Policy