Applet Help
I have to write a program which uses an applet. The problem is that the applet does not run and I don't know where the problem is. When I want to start the applet I get the message: "applet not initialised". Here is the source code for the applet part of the program:
import java.applet.Applet;
import javax.swing.JRadioButton;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Button;
import javax.swing.ButtonGroup;
import java.awt.GridBagLayout;
import java.awt.TextField;
import java.awt.Label;
import java.awt.Component;
import java.lang.Math;
import java.util.Random;
import java.awt.GridBagConstraints;
import java.lang.Long;
import java.util.*;
import javax.swing.JPanel;
import javax.swing.*;
import java.io.*;
import java.lang.*;
public class Tema3 extends Applet implements ActionListener {
JPanel panel1, panel2, panel3, panel4, panel5;
TextField[] solutii;
Button searchSol;
Checkbox bktr, exh, queens, rocks, vector;
Label timpExeBktr, timpExeExh;
TextField tpExeBktr, tpExeExh;
CheckboxGroup grup1, grup2;
Container container;
public void init()
{
container.setLayout(new BorderLayout());
grup1=new CheckboxGroup();
grup2=new CheckboxGroup();
panel1=new JPanel();
panel2=new JPanel();
panel3=new JPanel();
panel4=new JPanel();
panel5=new JPanel();
solutii=new TextField[8];
for (int i=0; i<8; i++)
{
solutii=new TextField(2);
solutii.setEditable(false);
panel1.add(solutii);
}
bktr=new Checkbox("Backtracking", grup1, true);
exh=new Checkbox("Exhaustive", grup1, false);
queens=new Checkbox("Queens Problem", grup2, true);
rocks=new Checkbox("Rocks Problem", grup2, false);
vector=new Checkbox("Vector generator", grup2, false);
panel2.add(bktr);
panel2.add(exh);
panel3.add(queens);
panel3.add(rocks);
panel3.add(vector);
searchSol=new Button("Search Solutions");
searchSol.addActionListener(this);
panel4.add(searchSol);
timpExeBktr=new Label("Timpul de executie pentru metoda Backtrakinng:");
panel5.add(timpExeBktr);
timpExeExh=new Label("Timpul de executie pentru metoda Exhaustive:");
tpExeBktr=new TextField(5);
panel5.add(tpExeBktr);
panel5.add(timpExeExh);
tpExeBktr.setBounds(52, 15, 6, 1);
tpExeExh=new TextField(5);
tpExeExh.setEditable(false);
panel5.add(tpExeExh);
container.add(panel1, BorderLayout.NORTH);
container.add(panel2, BorderLayout.WEST);
container.add(panel3, BorderLayout.CENTER);
container.add(panel4, BorderLayout.EAST);
container.add(panel5, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent evt)
{
}
}
[2878 byte] By [
Ginnie] at [2007-11-11 7:40:59]

# 5 Re: Applet Help
This applet code was really packed with oddities, and it was also a bad mix of swing and awt. I have converted it to swing and taken out the container stuff (the container, the applet, is already there), and supplied the array elements in the for (int i = 0; i < 8; i++) -loop with indexes.
The way I have coded it here is a hybrid solution; the applet can run as an applet in a browser and as an application from the console prompt.
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Tema3
extends JApplet
implements ActionListener {
JPanel panel1, panel2, panel3, panel4, panel5;
JTextField[] solutii;
JButton searchSol;
JCheckBox bktr, exh, queens, rocks, vector;
JLabel timpExeBktr, timpExeExh;
JTextField tpExeBktr, tpExeExh;
ButtonGroup grup1, grup2;
public void init() {
this.getContentPane().setLayout(new BorderLayout());
grup1 = new ButtonGroup();
grup2 = new ButtonGroup();
panel1 = new JPanel();
panel2 = new JPanel();
panel3 = new JPanel();
panel4 = new JPanel();
panel5 = new JPanel();
solutii = new JTextField[8];
for (int i = 0; i < 8; i++) {
solutii[i] = new JTextField(2);
solutii[i].setEditable(false);
panel1.add(solutii[i]);
}
bktr = new JCheckBox("Backtracking", true);
exh = new JCheckBox("Exhaustive", false);
grup1.add(bktr);
grup1.add(exh);
queens = new JCheckBox("Queens Problem",true);
rocks = new JCheckBox("Rocks Problem", false);
vector = new JCheckBox("Vector generator", false);
grup2.add(queens);
grup2.add(rocks);
grup2.add(vector);
panel2.add(bktr);
panel2.add(exh);
panel3.add(queens);
panel3.add(rocks);
panel3.add(vector);
searchSol = new JButton("Search Solutions");
searchSol.addActionListener(this);
panel4.add(searchSol);
timpExeBktr = new JLabel("Timpul de executie pentru metoda Backtrakinng:");
panel5.add(timpExeBktr);
timpExeExh = new JLabel("Timpul de executie pentru metoda Exhaustive:");
tpExeBktr = new JTextField(5);
panel5.add(tpExeBktr);
panel5.add(timpExeExh);
tpExeBktr.setBounds(52, 15, 6, 1);
tpExeExh = new JTextField(5);
tpExeExh.setEditable(false);
panel5.add(tpExeExh);
this.getContentPane().add(panel1, BorderLayout.NORTH);
this.getContentPane().add(panel2, BorderLayout.WEST);
this.getContentPane().add(panel3, BorderLayout.CENTER);
this.getContentPane().add(panel4, BorderLayout.EAST);
this.getContentPane().add(panel5, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent evt) {
}
/**
* Main stub for testing applet
*/
public static void main(String[] args) {
JFrame f=new JFrame();
f.getContentPane().setLayout(new GridLayout());
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
}
});
Tema3 t=new Tema3();
f.getContentPane().add(t,null);
f.setBounds(10,10,700,600);
t.init();
f.setVisible(true);
}
}
sjalle at 2007-11-11 22:41:42 >
