Witam,
To jest przykład apletu z jednej książki. W ApletViewer wszytko jest OK, jednak na stronie się nie wyświetla. Consola wyrzuca jakieś błędy.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ApletKalkulatora extends JApplet{
public void init(){
Container powZawartosci = getContentPane();
PanelKalkulatora panel = new PanelKalkulatora();
powZawartosci.add(panel);
}
}
class PanelKalkulatora extends JPanel
{
public PanelKalkulatora()
{
setLayout(new BorderLayout());
wynik = 0;
ostPolecenie = "=";
poczatek = true;
poleWyniku = new JTextField("0");
poleWyniku.setEditable(false);
add(poleWyniku, BorderLayout.NORTH);
ActionListener wstaw = new Dolaczanie();
ActionListener polecenie = new Polecenie();
panel = new JPanel();
panel.setLayout(new GridLayout(4,4));
dodajPrzycisk("7", wstaw);
dodajPrzycisk("8", wstaw);
dodajPrzycisk("9", wstaw);
dodajPrzycisk("/", wstaw);
dodajPrzycisk("4", wstaw);
dodajPrzycisk("5", wstaw);
dodajPrzycisk("6", wstaw);
dodajPrzycisk("*", polecenie);
dodajPrzycisk("1", wstaw);
dodajPrzycisk("2", wstaw);
dodajPrzycisk("3", wstaw);
dodajPrzycisk("-", polecenie);
dodajPrzycisk("0", wstaw);
dodajPrzycisk(".", wstaw);
dodajPrzycisk("=", polecenie);
dodajPrzycisk("+", polecenie);
add(panel, BorderLayout.CENTER);
}
private void dodajPrzycisk(String etykieta, ActionListener sluchacz)
{
JButton przycisk = new JButton(etykieta);
przycisk.addActionListener(sluchacz);
panel.add(przycisk);
}
private class Dolaczanie implements ActionListener
{
public void actionPerformed(ActionEvent zdarzenie)
{
String wejscie = zdarzenie.getActionCommand();
if (poczatek)
{
poleWyniku.setText("");
poczatek = false;
}
poleWyniku.setText(poleWyniku.getText()+ wejscie);
}
}
private class Polecenie implements ActionListener
{
public void actionPerformed(ActionEvent zd)
{
String polecenie = zd.getActionCommand();
if (poczatek)
{
if(polecenie.equals("."))
{
poleWyniku.setText(polecenie);
poczatek = false;
}
else
ostPolecenie = polecenie;
}
else
{
oblicz(Double.parseDouble(poleWyniku.getText()));
ostPolecenie = polecenie;
poczatek = true;
}
}
}
public void oblicz(double x)
{
if (ostPolecenie.equals("+")) wynik +=x;
else if (ostPolecenie.equals("-")) wynik -=x;
else if (ostPolecenie.equals("*")) wynik *=x;
else if (ostPolecenie.equals("/")) wynik /=x;
else if (ostPolecenie.equals("=")) wynik =x;
poleWyniku.setText("" + wynik);
}
private JTextField poleWyniku;
private JPanel panel;
private double wynik;
private String ostPolecenie;
private boolean poczatek;
}
Prośba o pomoc
Pozdrawiam