Convert Java Program to Applet

I have to admit I am a VERRY VERRY new beginner at this. I started out with netbeans intending to create an applet / rate calculator for my friends website and turns out I created a (functional) program that runs from any computer using the .jar file. Now I am really confused at how to convert it so that it can run from a webpage. Here is the code. Can somebody help me?

/*

* RateFrame.java

*

* Created on June 1, 2007, 6:35 PM

*/

package RateFrame;

/**

*

* @author HP_Administrator

*/

public class RateFrame extends javax.swing.JFrame

{

/** Creates new form RateFrame */

public RateFrame()

{

initComponents();

}

/** This method is called from within the constructor to

* initialize the form.

* WARNING: Do NOT modify this code. The content of this method is

* always regenerated by the Form Editor.

*/

// <editor-fold defaultstate="collapsed" desc=" Generated Code ">

private void initComponents() {

milesfrom = new javax.swing.JTextField();

milesto = new javax.swing.JTextField();

label1 = new java.awt.Label();

label2 = new java.awt.Label();

label3 = new java.awt.Label();

jButton1 = new javax.swing.JButton();

estmiles = new javax.swing.JTextField();

label4 = new java.awt.Label();

label5 = new java.awt.Label();

estrate1 = new javax.swing.JTextField();

estrate2 = new javax.swing.JTextField();

jTextPane3 = new javax.swing.JTextPane();

jTextPane4 = new javax.swing.JTextPane();

jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

label1.setText("miles from Clybourn Ave. & Foothill Blvd., Sylmar 91342 to PICKUP location.");

label2.setText("miles from PICKUP location to DROPOFF location.");

label3.setText("Estimated Chargeable Miles =");

jButton1.setFont(new java.awt.Font("Comic Sans MS", 0, 18));

jButton1.setText("Estimate Rate");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

estmiles.setEditable(false);

estmiles.setFont(new java.awt.Font("Tahoma", 0, 14));

estmiles.setBorder(null);

label4.setFont(new java.awt.Font("Comic Sans MS", 1, 14));

label4.setText("Estimated Rate for Horse #1");

label5.setFont(new java.awt.Font("Comic Sans MS", 1, 14));

label5.setText("Estimated Rate for Horse #2");

estrate1.setEditable(false);

estrate1.setFont(new java.awt.Font("Comic Sans MS", 0, 18));

estrate1.setBorder(null);

estrate2.setEditable(false);

estrate2.setFont(new java.awt.Font("Comic Sans MS", 0, 18));

estrate2.setBorder(null);

jTextPane3.setBackground(new java.awt.Color(236, 233, 216));

jTextPane3.setEditable(false);

jTextPane3.setFont(new java.awt.Font("Comic Sans MS", 0, 18));

jTextPane3.setText("$");

jTextPane4.setBackground(new java.awt.Color(236, 233, 216));

jTextPane4.setEditable(false);

jTextPane4.setFont(new java.awt.Font("Comic Sans MS", 0, 18));

jTextPane4.setText("$");

jLabel1.setFont(new java.awt.Font("Brush Script MT", 0, 30));

jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabel1.setText("Liberty Equine Transport - Rate Estimator");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(21, 21, 21)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addComponent(label4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(39, 39, 39)

.addComponent(label5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addComponent(milesto, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addComponent(label3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(estmiles, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE))

.addComponent(label2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))

.addGroup(layout.createSequentialGroup()

.addComponent(milesfrom, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))

.addContainerGap(40, Short.MAX_VALUE))

.addGroup(layout.createSequentialGroup()

.addGap(65, 65, 65)

.addComponent(jTextPane4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(estrate1, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 155, Short.MAX_VALUE)

.addComponent(jTextPane3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(estrate2, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(110, 110, 110))

.addGroup(layout.createSequentialGroup()

.addGap(172, 172, 172)

.addComponent(jButton1)

.addContainerGap(209, Short.MAX_VALUE))

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 510, Short.MAX_VALUE)

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(milesfrom, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(label2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(milesto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jButton1)

.addGap(21, 21, 21)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addComponent(estmiles)

.addComponent(label3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addGap(21, 21, 21)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(label4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(label5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addComponent(jTextPane4)

.addComponent(estrate1, javax.swing.GroupLayout.DEFAULT_SIZE, 32, Short.MAX_VALUE)

.addComponent(jTextPane3)

.addComponent(estrate2))

.addContainerGap(22, Short.MAX_VALUE))

);

pack();

}// </editor-fold>

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

int mf = Integer.parseInt(milesfrom.getText());

int mt = Integer.parseInt(milesto.getText());

int cm;

int es1;

double es2;

if (mf > 20)cm = (mf - 20) + mt;

else cm = mt;

estmiles.setText(String.valueOf(cm));

if (cm < 50) es1 = (int)(((double)cm * 1.5) + 50.9);

else if (cm > 100) es1 = (int)(((double)cm * 1.1) + 50.9);

else es1 = (int)(((double)cm * 1.3) + 50.9);

estrate1.setText(String.valueOf(es1));

estrate2.setText(String.valueOf(es1 - 50));

}

/**

* @param args the command line arguments

*/

public static void main(String args[])

{

java.awt.EventQueue.invokeLater(new Runnable()

{

public void run()

{

new RateFrame().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JTextField estmiles;

private javax.swing.JTextField estrate1;

private javax.swing.JTextField estrate2;

private javax.swing.JButton jButton1;

private javax.swing.JLabel jLabel1;

private javax.swing.JTextPane jTextPane3;

private javax.swing.JTextPane jTextPane4;

private java.awt.Label label1;

private java.awt.Label label2;

private java.awt.Label label3;

private java.awt.Label label4;

private java.awt.Label label5;

private javax.swing.JTextField milesfrom;

private javax.swing.JTextField milesto;

// End of variables declaration

}

[10785 byte] By [OneShotTequilaa] at [2007-11-27 7:14:47]
# 1

When you post code, you should wrap it in [code][/code] tags so it's easy to read. Also indent it meaningfully. Your code is almost impossible to read now.

To make an applet, try making it extend JApplet rather than JFrame. You can also get rid of the main() method. From what I could read of your code, that might be sufficient to make it an applet. If not...well we'll cross that bridge when we come to it.

A more flexible approach would be to create a Swing component (perhaps a subclass of JPanel?) with your functionality in it. Then you could create two wrapper classes, one that creates or subclasses a JFrame, and another that's a subclass of JApplet. Both wrappers would just instantiate your custom component and then stick it in the JApplet or JFrame. This way your code could be deployed in both environments with little trouble. Usually I do this, plus I bundle the whole thing up in an executable jar. That way a single jar file can be used as an applet in a browser, or double-clicked on the desktop.

paulcwa at 2007-7-12 19:05:01 > top of Java-index,Desktop,Core GUI APIs...