ho fatto, per provare, una pagina jsp:

codice:
<%--

    Document   : index
    Created on : 29-apr-2011, 22.46.49
    Author     : Harlandraka_94
--%>

<%@page import="java.awt.event.WindowEvent"%>
<%@page import="java.awt.event.WindowListener"%>
<%@page import="java.awt.Toolkit"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP</title>
    </head>
    <body>
        <h1>Wow</h1>
        <%@page import="javax.swing.JFrame" %>
        <%! JFrame f = new JFrame();%>
        <%
                    out.print("Settando la grandezza del frame 
");
                    f.setSize(500, 500);
                    out.print("Settando la posizione del frame 
");
                    f.setLocation(Toolkit.getDefaultToolkit().getScreenSize().width / 2 - 250, Toolkit.getDefaultToolkit().getScreenSize().height / 2 - 250);
                    out.print("Settando l'operazione da eseguire alla chiusura del frame 
");
                    f.setDefaultCloseOperation(3);
                    out.print("Visualizzando il frame 
");
                    f.setVisible(true);
                    f.addWindowListener(new WindowListener() {

                        @Override
                        public void windowOpened(WindowEvent e) {
                            try{
                                out.print("Frame aperto
");
                            }catch(Exception ex){}
                        }
                        @Override
                        public void windowClosed(WindowEvent e) {
                            try{
                                out.print("Frame chiuso
");
                            }catch(Exception ex){}
                        }
                        @Override
                        public void windowClosing(WindowEvent e) {
                            try{
                                out.print("Frame in chiusura
");
                            }catch(Exception ex){}

                        }
                        @Override
                        public void windowDeactivated(WindowEvent e) {
                            try{
                                out.print("Frame disattivato
");
                            }catch(Exception ex){}
                        }
                        @Override
                        public void windowActivated(WindowEvent e) {
                            try{
                                out.print("Frame attivato
");
                            }catch(Exception ex){}
                        }
                        @Override
                        public void windowDeiconified(WindowEvent e) {
                            try{
                                out.print("Frame ridotto a icona
");
                            }catch(Exception ex){}
                        }
                        @Override
                        public void windowIconified(WindowEvent e) {
                            try{
                                out.print("Frame ripristinato
");
                            }catch(Exception ex){}
                        }
                    });
        %>
    </body>
</html>
Ora, quando faccio, nei metodi all'interno del WindowListener, out.print(""); mi dice "local variable out is accessed from within inner class; needs to be declared final"

come faccio? ho provato a fare, nella dichiarazione delle variabili, <%!final JspWriter out%>, ma mi da due problemi, il primo è "variable out might not have instantialized", il secondo è sempre quello che c'era in precedenza, il problema è che se inizializzo la variabile out mi dice che non può essere istanziata perchè astratta... cosa posso fare???
PS uso netbeans con classfish server v3

Grazie in anticipo!