daddoncello
15-10-2013, 22:15
Salve ragazzi, non riesco a capire come collegare un oggetto ad un applet...sarà che non riesco ad entrare nell'ottica della programmazione ad oggetti ma non riesco proprio a capire come fare per far funzionare questo codice.
Questo è l'oggetto:
import java.io.*;
public class ogg_pila
{
public int[] pila;
int testa;
InputStreamReader cattura=new InputStreamReader(System.in);
BufferedReader tastiera=new BufferedReader(cattura);
int max=10;
public ogg_pila(int n)
{
pila= new int[n];
max=n;
testa=max;
}
public void push()
{
try
{
if(testa == 0)
{
System.out.print("La pila ha raggiunto i 10 elementi.");
}
else
{
testa--;
}
int dato;
System.out.print("Scrivere l'elemento che vuoi inserire:");
dato=Integer.parseInt(tastiera.readLine());
pila[testa]=dato;
System.out.println("L'elemento "+pila[testa]+" e' stato aggiunto.");
}
catch(Exception E) {System.out.print("Errore.");}
}
public void pop()
{
if(testa == max)
{
System.out.println("Pila vuota, inserisci elementi.");
}
else
{
System.out.println("L'elemento "+pila[testa]+" è stato estratto.");
testa++;
}
}
public void svuota()
{
testa = max;
System.out.println("La pila e' vuota.");
}
public void visualizza()
{
if(testa==max)
{
System.out.print(" La pila è vuota.");
}
else
{
System.out.println("VIsualizzazione Pila");
for(int i=testa; i<max; i++)
{
System.out.println(pila[i]);
}
}
}
}
mentre questa è l'Applet che richiama i metodi dell'oggetto al click del bottone:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.io.*;
import javax.swing.JOptionPane;
import java.util.*;
public class pila_applet extends Applet implements ActionListener
{
Button aggel = new Button("Aggiungi Elemento");
Button estel = new Button("Estrai Elemento");
Button svuota = new Button("Svuota Pila");
Button visual = new Button("Visualizza Pila");
int dim=10;
ogg_pila p1=new ogg_pila(dim);
public void init()
{
aggel.addActionListener(this);
estel.addActionListener(this);
svuota.addActionListener(this);
visual.addActionListener(this);
this.add(aggel);
this.add(estel);
this.add(svuota);
this.add(visual);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == aggel)
{
JOptionPane.showMessageDialog(this,"Ciao");
p1.push();
}
if(e.getSource() ==estel)
{
p1.pop();
}
if(e.getSource() ==svuota)
{
p1.svuota();
}
if(e.getSource() ==visual)
{
p1.visualizza();
}
}
}
il problema principale è riuscire a ritornare i System.out.print nell'applet ma dato che non è possibile non so come fare...
ve ne sarei molto grato se mi aiutaste a risolvere questo problema...sono 2 settimana che mi ci sbatto sopra :/
grazie in anticipo
Questo è l'oggetto:
import java.io.*;
public class ogg_pila
{
public int[] pila;
int testa;
InputStreamReader cattura=new InputStreamReader(System.in);
BufferedReader tastiera=new BufferedReader(cattura);
int max=10;
public ogg_pila(int n)
{
pila= new int[n];
max=n;
testa=max;
}
public void push()
{
try
{
if(testa == 0)
{
System.out.print("La pila ha raggiunto i 10 elementi.");
}
else
{
testa--;
}
int dato;
System.out.print("Scrivere l'elemento che vuoi inserire:");
dato=Integer.parseInt(tastiera.readLine());
pila[testa]=dato;
System.out.println("L'elemento "+pila[testa]+" e' stato aggiunto.");
}
catch(Exception E) {System.out.print("Errore.");}
}
public void pop()
{
if(testa == max)
{
System.out.println("Pila vuota, inserisci elementi.");
}
else
{
System.out.println("L'elemento "+pila[testa]+" è stato estratto.");
testa++;
}
}
public void svuota()
{
testa = max;
System.out.println("La pila e' vuota.");
}
public void visualizza()
{
if(testa==max)
{
System.out.print(" La pila è vuota.");
}
else
{
System.out.println("VIsualizzazione Pila");
for(int i=testa; i<max; i++)
{
System.out.println(pila[i]);
}
}
}
}
mentre questa è l'Applet che richiama i metodi dell'oggetto al click del bottone:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.io.*;
import javax.swing.JOptionPane;
import java.util.*;
public class pila_applet extends Applet implements ActionListener
{
Button aggel = new Button("Aggiungi Elemento");
Button estel = new Button("Estrai Elemento");
Button svuota = new Button("Svuota Pila");
Button visual = new Button("Visualizza Pila");
int dim=10;
ogg_pila p1=new ogg_pila(dim);
public void init()
{
aggel.addActionListener(this);
estel.addActionListener(this);
svuota.addActionListener(this);
visual.addActionListener(this);
this.add(aggel);
this.add(estel);
this.add(svuota);
this.add(visual);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == aggel)
{
JOptionPane.showMessageDialog(this,"Ciao");
p1.push();
}
if(e.getSource() ==estel)
{
p1.pop();
}
if(e.getSource() ==svuota)
{
p1.svuota();
}
if(e.getSource() ==visual)
{
p1.visualizza();
}
}
}
il problema principale è riuscire a ritornare i System.out.print nell'applet ma dato che non è possibile non so come fare...
ve ne sarei molto grato se mi aiutaste a risolvere questo problema...sono 2 settimana che mi ci sbatto sopra :/
grazie in anticipo