Visualizzazione dei risultati da 1 a 9 su 9

Discussione: java e settext

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    370

    java e settext

    sono hai primi passi con java
    ho un problema con un settext

    ho creato un label
    ed ho una funzione in qui ho deve scrivere nel label questo e fino a qui funziona il problema è che se ci devo scrivere una seconda volta ed il risultato è più lungo di quello di prima per visualizzare l'intero contenuto devo aprire a tutto schermo la finestra e poi posso ridimensionare e si vede tutto

    perchè?


    cliccato.setText("IP di "+dom+" : "+loc.getHostAddress());

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    E' un problema di refresh... prova a richiamare il metodo doLayout() oppure setVisible(true) della finestra dopo ogni chiamata a setText().

    Esempio:
    codice:
    // Se questo è un metodo del tuo Frame
    public void mioMetodo() {
       cliccato.setText(<nuovo testo>);
       doLayout(); // Non dovrebbe essere necessario, ma male non fa :D
       setVisible(true);
    }
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    scusate se mi intrometto ma a cosa serve il doLayout (); ?
    www.matteosteri.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    370
    grazie mille ora funziona benissimo

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    doLayout() chiede al componente di "ridisegnarsi" (non nel senso grafico della cosa, ma nel senso di ricostruirsi). Come da documentazione Java, questo metodo viene usato specialmente dai Container, cioè tutte quelle classi che possono contenere al loro interno altri Component e serve, appunto, a far sì che il Contenitore venga rivalidato.

    Si usa, in pratica, quando viene modificato il contenuto di un Container (ad esempio, quando vengono aggiunti o tolti dei componenti) in modo da rivalidarlo.


    Spero di essere stato abastanza chiaro, anche perchè più di così non mi riesce di spiegare la cosa


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    370
    ok sei stato chiaroma adesso no si compila più mi da questo errore

    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java :537)
    at java.security.SecureClassLoader.defineClass(Secure ClassLoader.java:123)
    at java.net.URLClassLoader.defineClass(URLClassLoader .java:251)
    at java.net.URLClassLoader.access$100(URLClassLoader. java:55)
    at java.net.URLClassLoader$1.run(URLClassLoader.java: 194)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.j ava:187)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:2 89)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launche r.java:274)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:2 35)
    at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:302)

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Ehm... un po' di codice per capire cos'è che provoca l'errore sarebbe utile...
    Da quello che posso capire è un errore nel caricamento di una classe...

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    370
    Frame ButAppFram = new Frame("Risolvi IP"); // Creo un frame grafico
    // inizialmente invisibile,
    // e lo chiamo But1

    IndirizziIP MiaBut1AppIst = new IndirizziIP(); // Istanzio l'applet

    MiaBut1AppIst.init(); // Se esiste init() eseguilo...
    // MiaBut1AppIst.start(); // Se esiste start() eseguilo...


    ButAppFram.add("Center", MiaBut1AppIst); // Attacca l'applet al centro
    // del frame.

    ButAppFram.resize(500, 300); // Ridimensiono (non ho WIDTH di html!)
    ButAppFram.show(); // Visualizza il frame, ora che e' OK.
    }

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    A parte che non capisco perchè tu vuoi mettere un'applet dentro ad un frame (l'applet è un'applicazione embedded da usare nelle pagine HTML il cui metodo init() viene automaticamente avviato dal browser stesso), vedo che fai uso di un metodo ( resize() ) che è deprecato dalla versione 1.1 di JDK ( sostituito da setSize() ) e, comunque, non riesco a capire com'è strutturato il tuo codice... Non capisco in quali metodi è inserito tutto quel codice, né di quali classi faccia parte... Se tu potessi postare un po' più di codice sarebbe, forse, più chiaro, perchè così proprio non si capisce...



    Ciao
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.