Pages: [1]   Go Down
Print
Author Topic: Finestra per scelta tra due opzioni  (Read 1055 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
ChessPlayer
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 154

Checkmate


« on: 08-10-2012, 14:06:25 »

Ciao a tutti, come da oggetto di questo topic, vorrei sapere se esiste una finestra (Stile JOptionPane) per la scelta tra due opzioni selezionabili tramite pulsanti della stessa finestra. Chiedo questo perchè la JOptionPane se non riceve input uguali a ciò che le viene dato dal codice andrebbe in errore, e poichè mi serve per il progetto vorrei evitarlo. Qualcuno può aiutarmi ?    pray
Logged

Ad ogni azione corrisponde una reazione uguale e contraria.
Matto1790
Matricola
*
Offline Offline

Gender: Male
Posts: 61



« Reply #1 on: 08-10-2012, 14:20:29 »

http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html

Cerca la YES_NO_OPTION è in fondo  

In alternativa esiste un metodo che si chiama showOptionDialog sempre della JOptionPane, ma devi cercarti la documentazione per vedere cosa passare come parametro( sempre il YES_NO_Option nel tuo caso )
« Last Edit: 08-10-2012, 14:24:22 by Matto1790 » Logged
ChessPlayer
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 154

Checkmate


« Reply #2 on: 08-10-2012, 20:09:28 »

essendo che non ho mai lavorato con tale codice, dopo aver compilato è stato trovato l'errore:

proviamo.java:6: error: cannot find symbol
      int n = JOptionPane.showOptionDialog(frame,
                                           ^
  symbol:   variable frame

non sapendo cosa sia, potresti aiutarmi ? Magari spiegandomi meglio l'uso e la struttura della parola "frame".  pray
Logged

Ad ogni azione corrisponde una reazione uguale e contraria.
Matto1790
Matricola
*
Offline Offline

Gender: Male
Posts: 61



« Reply #3 on: 08-10-2012, 23:13:59 »

ma hai fatto un mero copia e incolla dell'esempio che ti avevo fatto vedere......
frame è una variabile utilizzata dai tizi della sun per farti un esempio....

Questo metodo è così definito :
Code:
public static int showOptionDialog(Component parentComponent,
                   Object message,
                   String title,
                   int optionType,
                   int messageType,
                   Icon icon,
                   Object[] options,
                   Object initialValue)
                            throws HeadlessException


il "tuo" frame sarebbe la finestra che dovrebbe generare questa optionPane, puoi anche mettere null se vuoi, non ha molta importanza.
Il secondo parametro è invece il messaggio di domanda da porre all'utente
Il terzo è il titolo della finestra
Il quarto determina quanti bottoni saranno presenti nell 'optionPane, e ha un nome YES_NO_CANCEL_OPTION proprio perchè saranno quelle le scelte disponibili anche se le puoi cambiare...
Il quinto è l'immaginetta accanto al testo del secondo parametro
Il sesto è un eventuale icona
Il settimo, che è un array, sarebbero le tue opzioni
Il settimo è la posizione del focus sui bottoni.

Ti allego 2 righe di codice semplici semplici così puoi fare tutte le prove che vuoi spero di esserti stato di aiuto


Code:
import javax.swing.*;
public class esempio
{
public static void main(String [] args)
{
//saranno le opzioni fra cui scegliere
Object[] options = {"Si","No","Esci"};
int n = JOptionPane.showOptionDialog(

                //frame che genera la domanda

                null,

                //testo a fronte

"Hai capito l'esempio?",

                //titolo della finestra

"Esempio",

                //quante/quali scelte

JOptionPane.YES_NO_CANCEL_OPTION,

                //immagine

JOptionPane.QUESTION_MESSAGE,

                //icona (superflua)

null,
               
                //le tue opzioni

options,

                //focus

options[0]);

switch(n)
{
case 0 : JOptionPane.showMessageDialog(null,"Hai capito");
break;
case 1 : JOptionPane.showMessageDialog(null,"Cerca di impegnarti!");
break;
case 2 : System.exit(0);
break;
}
}
}


P.s. fare copia e incolla direttamente da un esempio senza capirlo, come hai potuto constatare, non serve a un tubo, la prossima volta cerca prima di capire l'esempio e poi lo puoi utilizzare!!
Logged
ChessPlayer
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 154

Checkmate


« Reply #4 on: 09-10-2012, 08:51:31 »

P.s. fare copia e incolla direttamente da un esempio senza capirlo, come hai potuto constatare, non serve a un tubo, la prossima volta cerca prima di capire l'esempio e poi lo puoi utilizzare!!

Seguirò il tuo consiglio  ok  di solito io sono più propenso all'apprendimento pratico, ma a quanto pare certe volte conviene prima un apprendimento teorico.

Ti ringrazio per il tuo aiuto   
Logged

Ad ogni azione corrisponde una reazione uguale e contraria.
Pages: [1]   Go Up
Print
Jump to: