Be se l'esercizio ti funziona potresti fare:
Codice PHP:
public class P2_prova extends JFrame {
//le dichiarazioni private
private JTextField textfield1;
private JButton b1;
private JLabel etichetta;
private Box box;
private JTextField textfield2;
private JPanel panel;
public P2_prova(){
//campo di testo 1
textfield1 = new JTextField(40);
textfield1.setFont(new Font("Helvetica", Font.PLAIN, 18));
//definisco gli elementi
//bottone b1 a cui viene associata la funzione svuota
b1 = new JButton("Leggi");
b1.addActionListener(new AL1());
//etichetta
etichetta = new JLabel("Totale alfabetici:");
//campo di testo
textfield2 = new JTextField(10);
textfield2.setFont(new Font("Helvetica", Font.PLAIN, 18));
//definisco un pannello di tipo FlowLayout
//e vi inserisco gli elementi
panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.add(b1);
panel.add(etichetta);
panel.add(textfield1);
panel.add( textfield2);
//definisco un box in cui inserire gli elementi barra e pannello
// e lo aggiungo alla finestra
box = new Box(BoxLayout.Y_AXIS);
box.add(panel);
getContentPane().add(box);
//definisce le dimensioni di default
pack();
//chiude il programma
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//rende visibile la finestra
setSize( 800,120 );
setVisible(true);
}
//azione applicata al bottone b1
class AL1 implements ActionListener{
public void actionPerformed(ActionEvent e){
if( ( textfield1.getText().trim() != null ) && ( textfield1.getText().trim().length() > 0 ) ){
char buffer[]= new char[1]; //buffer di lettura
try{
int count = 0;
InputStreamReader isr= new FileReader(args[0]);
for(int n = isr.read(buffer);n>0;n=isr.read(buffer)){
count = count+1;
String s = new String (buffer, 0, n);
System.out.print(s);
}
System.out.println();
System.out.println("Il nr di caratteri nel file sono: " +count);
isr.close();
}catch(IOException e){
System.err.println("manca un argomento "+ e.getMessage() );
System.exit(-1);
}
}
}
}
public static void main(String[] args) {
new P2_prova();
}
}
Dai una controllata alle parentesi e scusami l'intendazione... ho fatto 1 copia ed incolla.
Ciao