Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Aiuto JDialog...
Forum - Java - Aiuto JDialog...

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
filly85 (Normal User)
Newbie


Messaggi: 15
Iscritto: 01/02/2008

Segnala al moderatore
Postato alle 18:48
Venerdì, 01/02/2008
Ciao spero che qualcuno mi sappia aiutare.
sto sviluppando il gioco snake...
per visualizzare la guida ho fatto una jdialog che carica da file il testo e lo mette a video.come faccio a cambiare il carattere,le dim?e poi quando il testo viene visualizzato appare il cursore il quale fa aggiungere del testo o cancellarlo.come fare x visualizzare il testo e basta?
Grazieeeeeeeeeeeee!!!

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 15:53
Sabato, 02/02/2008
per evitare che il testo sia modificato deiv usare il metodo

field.setEnabled(false)
o
field.setEditable(false)

per cambiare i font e le altre caratteristiche del testo potresti usare un JEditorPane con il content type impostato su text/html e inserire codice html per impostare l'aspetto del testo.

Qui hai un tutorial si Sun: http://java.sun.com/docs/books/tutorial/uiswing/components ...

Ultima modifica effettuata da netarrow il 02/02/2008 alle 15:55
PM Quote
Avatar
filly85 (Normal User)
Newbie


Messaggi: 15
Iscritto: 01/02/2008

Segnala al moderatore
Postato alle 12:01
Domenica, 03/02/2008
grazie.con questo metodo però il pulsante x non chiude la dialog,devo aggiungere un bottone per farla chiudere o c'è qualche altro metodo x gestire?
inoltre,per dimensionare il testo all interno della dialog come si fa?alcuni pezzi di testo non si leggono.grazieeeeee!

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 13:51
Domenica, 03/02/2008
per far chiudere la finestra con la X devi mettere il setDefaultCloseOperation:

http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JDialo ...

Per il testo basta che scrivi dentro il JEditorPane testo in html, e automaticamente viene elaborato; se non ti stampa correttamente hai scritto codice html errato

PM Quote
Avatar
filly85 (Normal User)
Newbie


Messaggi: 15
Iscritto: 01/02/2008

Segnala al moderatore
Postato alle 9:23
Lunedì, 04/02/2008
ma il x setDEfaultCloseOperation devo fare un funzione a parte nella classe Jdialog oppure richiamare come funz gia esistente?il pezzo di codice della dialog è questo,dimmi come fare.grazie

public class DialogFinestraGuida extends JDialog
{
    
    private static final long serialVersionUID = 1L;
    private JTextArea areaTesto;
    private GiocoSnake giocoSnake;
    
    public DialogFinestraGuida(GiocoSnake giocoS)
    {    
        this.giocoSnake=giocoS;
        this.setModal(false);
        this.setSize(800,500);
        this.setLocation(0,0);
        this.setTitle("Guida Snake");
        this.setEnabled(false);  //toglie il cursore nell'area testo
        JPanel principale=new JPanel();
        principale.setBackground(Color.green);
        principale.setLayout(new BorderLayout());
        areaTesto=new JTextArea();
        areaTesto.setBackground(Color.green);
        areaTesto.setFont(new Font("Serif", Font.LAYOUT_LEFT_TO_RIGHT, 16));
        principale.add(areaTesto,BorderLayout.CENTER);
        areaTesto.append(giocoSnake.visualizzaGuida());
        this.getContentPane().add(principale);
        this.setVisible(true);
        
        
    }
}



Grazie!!!!

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 10:59
Lunedì, 04/02/2008
no basta che richiami il metodo setDefaultCloseOperation e gli passi DISPOSE_ON_CLOSE (la costante è memorizzata come campo statico della classe JDialog)

Ultima modifica effettuata da netarrow il 04/02/2008 alle 11:00
PM Quote
Avatar
filly85 (Normal User)
Newbie


Messaggi: 15
Iscritto: 01/02/2008

Segnala al moderatore
Postato alle 11:14
Lunedì, 04/02/2008
Grazie, avevo già provato cosi ma non si chiude la dialog.Ho provato cosi,senza this.bla bla...,setCloseOperatio(DISPOSE_ON_CLOSE);
Uffa....!un altra cosa,il testo viene tagliato poiche è + grande della finestra dialog,devo fare uno scrollpane con un pannello su con una area di testo?
grazie 1000!

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 11:35
Lunedì, 04/02/2008
per le scroll devi inserire la TextArea dentro un JScrollPane.
Per la chiusura questo devi scrivere nel costruttore della jDialog:

this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

se no prova un HIDE_ON_CLOSE ma la JDialog sarà solo invisibile e continuerà a occupare memoria.

ah, per le scroll si potrebbe usare anche setLineWrap a true per andare a capo automaticamente

Ultima modifica effettuata da netarrow il 04/02/2008 alle 11:48
PM Quote
Avatar
filly85 (Normal User)
Newbie


Messaggi: 15
Iscritto: 01/02/2008

Segnala al moderatore
Postato alle 13:25
Lunedì, 04/02/2008
Che nervoso non mi funziona................dai una occhiata se ho sbagliato qualcosa.


public class DialogFinestraGuida extends JDialog
{
    
    private static final long serialVersionUID = 1L;
    private JTextArea areaTesto;
    private GiocoSnake giocoSnake;
    private JPanel PannelloGuida;
    private JScrollPane scrollPane;
    
    public DialogFinestraGuida(GiocoSnake giocoS)
    {    
        this.giocoSnake=giocoS;
        this.setModal(false);
        this.setSize(800,500);
        this.setLocation(0,0);
        this.setTitle("Guida Snake");
        this.setEnabled(false);  //toglie il cursore nell'area testo
this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
        JPanel principale=new JPanel();
        principale.setLayout(new BorderLayout());
        PannelloGuida = new JPanel(new GridLayout(800,500));
        PannelloGuida.setBackground(Color.green);
        scrollPane = new JScrollPane(PannelloGuida);
        scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        areaTesto=new JTextArea();
        areaTesto.setBackground(Color.green);
        areaTesto.setFont(new Font("Serif", Font.LAYOUT_LEFT_TO_RIGHT, 16));
        areaTesto.append(giocoSnake.visualizzaGuida());
        PannelloGuida.add(areaTesto);
        
        principale.add(BorderLayout.CENTER,scrollPane);
        
        this.getContentPane().add(principale);
        this.setVisible(true);
        
        
    }
}

Grazie e scusa!!!

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo