Qualcosa del genere...
codice:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Conto {
private double totale;
private String storico;
private String ultima;
public Conto(String data, double value) {
totale = value;
ultima = data +" "+ value;
storico = "";
}
public Conto() {
this("", 0);
}
public void deposito(String data, double value) {
storico +=data+" accredito "+value+"\n";
totale +=value;
ultima = data + " accredito " + value;
}
public void prelievo (String data, double value) {
storico +=data+" prelevamento "+value+"\n";
totale -= value;
ultima = data + " prelevamento "+value;
}
public String ultima() {
return ultima;
}
public String toString() {
return "\n\nESTRATTO CONTO\n"+storico+"\n\n"+"Saldo finale: "+totale+"\n*********\n\n";
}
}
public class graphicConto extends JFrame implements ActionListener { //fagli estendere JApplet
JButton deposito = new JButton("Accredito");
JButton prelievo = new JButton("Prelevamento");
JButton estratto = new JButton("Lista Movimenti");
JLabel datal = new JLabel("Data Operazione:");
JLabel importo = new JLabel("Importo");
JTextField data = new JTextField(12);
JTextField valuta = new JTextField(10);
JTextArea operazioni = new JTextArea();
Conto c;
public void actionPerformed (ActionEvent ae) {
if (ae.getSource().equals(deposito)) {
c.deposito(data.getText(), Double.parseDouble(valuta.getText()));
operazioni.append(c.ultima()+"\n");
}
if (ae.getSource().equals(prelievo)) {
c.prelievo(data.getText(), Double.parseDouble(valuta.getText()));
operazioni.append(c.ultima()+"\n");
}
if (ae.getSource().equals(estratto)) {
operazioni.append(c.toString()+"\n");
}
}
public graphicConto() {
super("Manage Conto"); //commenta questa, serve solo a dare il titolo al JFrame, nelle JApplet non serve
this.getContentPane().setLayout(new BorderLayout());
JPanel top = new JPanel();
JPanel top1 = new JPanel();
JPanel top2 = new JPanel();
top1.add(datal); top1.add(data); top1.add(importo); top1.add(valuta);
top2.add(deposito); top2.add(prelievo); top2.add(estratto);
top.setLayout(new GridLayout(2,1));
top.add(top1); top.add(top2);
deposito.addActionListener(this);
prelievo.addActionListener(this);
estratto.addActionListener(this);
this.getContentPane().add(top, BorderLayout.NORTH);
this.getContentPane().add(operazioni, BorderLayout.CENTER);
c = new Conto();
//Quello che segue è solo per operare nel JFrame
//nella JApplet non serve e lo devi commentare.
this.setSize(600, 400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//il main di una JApplet dovrebbe dare informazioni a riguardo
//nel caso in cui qualcuno provasse a lanciare da console l'applet
//In questo caso invece inizializzo un oggetto di questa classe per fare demo.
public static void main (String[] args) {
graphicConto gc = new graphicConto();
}
}