Newsgroup: it.comp.java
Titolo: Domanda molto probabilmente niubba

Salve...dopo essere riuscito a creare la classe x il frame di
inserimento e tutto va bene...io facevo partire tutto dalla pressione
dell'ok dalla classe frame...mentre il prof mi ha detto che era meglio
creare delle varibili, all'inserimento dei dati e alla pressione
dell'ok vengono assegnati i valori inseriti alle variabili....dal main
parte il resto del programma che va a pescare questi valori...il
problema è proprio qui....cioè dovrei "sospendere" il programma fin
quando non ho premuto il tasto ok..scritto così come lo copio lui va a
pescare i valori prima...esegue tutto assieme...e ovviamente non li
triva...o meglio non trova quelli giusti :) come posso fare?....questo
è il main della connessione al db mySql:
	//Frame di inserimento dati x il login
		myFrames madre = new myFrames();
		madre.logIn();	
 
		connetti.connetti_tutto(madre.hostName,
madre.portNumber, madre.userName, madre.pass, madre.dbName);	
 
		mia.testCatalogo(madre.dbName);
 
		// Chiude la connessione con entrambi i db
		connetti.chiudiConnessioneDB();


Non so se ho capito quello che dici , ma direi che i dati della login
dovrebbero essere letti alla pressione del tasto ok da un
ActionListener e, volendo, questi dati potrebbero essere assegnati a
delle variabili di classe del tuo frame (anche se non vedo
necessariamente il perche')

                 madre.logIn();
Il problema sta qui: dovresti usare una finestra di dialogo al posto
di un frame.
Ecco un piccolo grande aiuto:
- crea una classe LoginDialog che estende JDialog
- piazzaci i componenti
- crea due metodi getUser() e getPassword() che leggono i dati dai
textfield
Le finestre di dialogo sono "modali", cioè quando sono aperte sono
l'unico elemento grafico "di fronte a tutti"; hai presente la finestra
"Apri file"? Ecco quello.
Dai un'occhiata al capitolo del Java Tutorial su JDialog, troverai la
soluzione.
--
www.megadix.it

On Mon, 10 Dec 2007 10:48:19 -0800 (PST), 
ricca...@email.it
 wrote:
Si in pratica è così...io aveo fatto che all'evento "ok" del frame
partiva connetti_tutto....quindi veniva qualcosa del genere
 connetti.connetti_tutto(text.gettext(), text1.gettext()...etc...);
il professore mi ha detto che è meglio così...cioè creare delle
variabili a cui vengono associati i dati inseriti...solo che non si
ferma...cioè ad es quando fai apri dalla JOptionaPane un dialogBox ad
es, quando si apre quella il programma si rerma finchè non premi il
tasto ok....dovrebbe avvenire qualcosa di simile....invece così com'è
scritta esegue tutto assieme...vorrei riuscire a farlo come ha
detto...in quell'altro modo funziona...ma in questo no....
Lorenzo



wrote:


Posto tutta la classe myFrames...
public class myFrames {
		protected String hostName;
		protected String portNumber;
		protected String userName;
		protected String pass;
		protected String dbName;
 
	public void logIn(){
 
 
 
 
 
		/**
		= null ;	
 
		final JTextField text2=null;
		final JTextField text3=null;
		final JPasswordField password=null;
		*/
		//Creazione le Text Box
		final JTextField text3 = new JTextField();
		final JTextField text2 = new JTextField();
		final JTextField text1 = new JTextField("3306");
		final JTextField text = new JTextField();
		//JTextField text1= new JTextField("3306");
 
			//Creazione e inizializza il Frame
		final JFrame principale = new JFrame("DataBase");
		principale.setResizable(false);
 principale.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
		//Posiziona il Frame al centro dello schermo
		Dimension screen =
Toolkit.getDefaultToolkit().getScreenSize();
		int widthWindow=210;
		int heightWindow=260;
		int X = (screen.width / 2) - (widthWindow / 2); //
Center horizontally.
		int Y = (screen.height / 2) - (heightWindow / 2); //
Center vertically.
 
		principale.setBounds(X,Y , widthWindow,heightWindow);
 
		//Creazione delle label
		int width=85;
		int height =16;
 
		JLabel label = new JLabel("Host");
		label.setSize(width, height);
 
		JLabel label1 = new JLabel ("Porta");
		label1.setSize(width, height);
 
		JLabel label2 = new JLabel("User Name");
		label2.setSize(width, height);
 
		JLabel label3 = new JLabel ("Password");
		label3.setSize(width, height);
 
		JLabel label4 = new JLabel("DataBase");
		label4.setSize(width, height);
 
		int width1 = 110;
		int height1 = 20;
 
		//JTextField text = new JTextField();
		text.setSize(width1, height1);
 
		text3.setSize(width1, height1);
 
		text1.setSize(width1, height1);
 
		text1.addFocusListener(new
java.awt.event.FocusAdapter() {
			public void
focusGained(java.awt.event.FocusEvent e) {
				text1.selectAll(); 
			}
		});
 
		//final JTextField text2 = new JTextField();
		text2.setBounds(new Rectangle(124, 98, 110, 20));
 
		//Text box per le password
 
		final JPasswordField password = new JPasswordField();
		password.setBounds(new Rectangle(124,138,110,20));
 
		//label per creare lo spazio iniziale
		JLabel vuota = new JLabel();
		JLabel vuota1 = new JLabel();
 
		//Bottoni ok ed esci
		JButton jButton = new JButton();
		jButton.setLayout(null);
		jButton.setBounds(new Rectangle (21, 219, 66, 26));
		jButton.setText("Ok");
 
		JButton jButton1 = new JButton();
		jButton1.setText("Esci");
		jButton1.setBounds(new Rectangle(143, 219, 66, 26));
 
 
		// Creazione pannello, assegnaziozione del pannello al
frame
		JPanel pannello = new JPanel();
		principale.setContentPane(pannello);
 
		//Layout del pannello
		GridLayout lay = new GridLayout(7,2);
		lay.setVgap(12);
		pannello.setLayout(lay);
 
		//Aggiunta degli oggetti al pannello con 
			//posizionamento in base al layout
 
		pannello.add(vuota);
		pannello.add(vuota1);
		pannello.add(label);
		pannello.add(text);
		pannello.add(label1);
		pannello.add(text1);
		pannello.add(label2);
		pannello.add(text2);
		pannello.add(label3);
		pannello.add(password);
		pannello.add(label4);	
		pannello.add(text3);
		pannello.add(jButton);
		pannello.add(jButton1);
 
		principale.setVisible(true);
 
		//Pressione del tasto "esci"
		jButton1.addActionListener(new
java.awt.event.ActionListener() {
			public void
actionPerformed(java.awt.event.ActionEvent e) {
				System.exit(0);		
 
			}				
		});
 
		//Pressione del tasto "ok"
		jButton.addActionListener(new
java.awt.event.ActionListener() {
			public void
actionPerformed(java.awt.event.ActionEvent e) {
 
				hostName= text.getText();
				portNumber = text1.getText();
				userName = text2.getText();
				pass = password.getText();
				dbName = text3.getText();
				principale.setVisible(false);
				//mia.testCatalogo(text3.getText());
				/**
				*principale.setVisible(false);
*connetti.connetti_tutto(text.getText(),text1.getText(),text2.getText(),password.getText(),text3.getText());
				**/
 
 
			}				
		});
 
 
 
	}