Newsgroup: it.comp.java
Titolo: Rendere un metodo visibile a tutti le classi

Allora provo a riformulare la domanda visto che l'altro post era
scritto abbastanza male...
Ho una classe chiamata alerts all'interno è scritto un metodo showErr:
===================================
// FILE: alerts.java
//...
public void showErr(String dettagli)
    {
        err = "...";
        // RENDO QUESTO FORM VISIBILE E STAMPO I MESSAGGI
        this.setVisible(true);
        txtDettagli.setText(dettagli);
        txtBox.setText(err);
    }
//...
===================================
Ora avrei bisogno che questo metodo venga richiamato in ogni try ...
catch, per ora faccio così (vedi righe con NOTA BENE) e non mi dà
problemi, es:
===================================
// FILE: Home.java
public void close(ResultSet rs){
        if(rs !=null){
            try{
               rs.close();
            }
            catch(Exception e) {
                /* NOTA BENE*/ alerts errore = new alerts();
                /* NOTA BENE*/ errore.showErr(e.getMessage());
            }
        }
    }
===================================
Siccome però faccio un uso massiccio di tale metodo showErr(), sarebbe
preferibile se potessi chiamarlo ogni volta in un modo più semplice.
Qualcuno saprebbe dirmi come fare????
Grazie

 Più semplice di così non c'è verso. Java è verboso per natura.
per intenderci... i metodi di java tipo setText che forma hanno? non
c'è un modo di simulare il loro comportamento?

Mi sembra tu stia facendo una cosa risolvibile tranquillamente con
l'utilizzo di un JOptionPane personalizzato: ti basterebbe chiamare degli
opportuni metodi statici per visualizzare messaggi del tipo voluto (per ogni
messaggio una riga di chiamata con parametri). Questo, naturalmente, se non
pensi di utilizzare pacchetti di log già belli e pronti...
Se comunque vuoi mantenere la tua classe fai - alla stessa maniera - un
metodo statico showErr(...) che crea un'istanza di alerts, la inizializza
opportunamente e poi la rende visibile.
Raccomandazione: utilizza nomi di classe maiuscoli. :)

Vd comunque anche il consiglio di MikeRam: "singleton ?".

 Vd comunque anche il consiglio di MikeRam: "singleton ?".
ho dato un'occhiata a singleton e così come la tua precedente
soluzione (se ho ben capito) dichiarano un metodo static, io purtroppo
in showErr ho queste due righe:
        txtDettagli.setText(dettagli);
        txtBox.setText(err);
che mi danno errore nel momento in cui cerco di dichiarare il metodo
come statico.

 come statico.
Beh, certo, perche' cerchi di riferirti ad un'istanza... non creata. Devi
fare (per esempio) :
class A extends JDialog {
    static void creaA() {
        A a = new A();
        // operazioni su a
        a.setVisible(true);
    }
}
cioe' *dentro* al metodo statico crei un'istanza della classe stessa e la
usi tranquillamente.
Ok?

 > ho dato un'occhiata a singleton e così come la tua precedente

sì, perfetto. adesso posso chiamare dovunque quel metodo scrivento
alerts.showErr("desc errore");

 alerts.showErr("desc errore");
Metti pure:  Alerts.showErr("desc errore");
e farai di me una persona (ancora) piu' felice :)

 e farai di me una persona (ancora) piu' felice :)
ok :D
siamo arrivati al massimo della semplicità? O c'è un modo (nn troppo
elaborato) per eliminare pure Alerts?

 O c'è un modo (nn troppo elaborato) per eliminare pure Alerts?
E dopo? :)
Al piu' mi viene in mente che potresti throware tutti gli "errori" come
eccezioni e catturarle in un unico punto che esegue lo showErr(), ma questo
dipende molto dalle classi che stai elaborando, non e' detto che sia
fattibile.
Anzi, mi viene in mente un'altra cosa:
@info("Yeah!")
@warning("Ehmm")
@error("Oops")
qualcuno mi conferma che e' - quella delle annotations - una via possibile
e/o valida?