PDA

Visualizza la versione completa : JAVA textField


allejo
07-05-2004, 14:24
Ciao ho fatto il mio primo programmino......
e volevo sapere perchè non mi aggiunge i 4 campi textField?
Dove sbaglio?
Posto il codice


package myprojects.esempio;

import java.awt.*;
import java.awt.event.*;

class Esempio extends Frame
{
public Esempio() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
}
public static void main(String args[]) {
Esempio mainFrame = new Esempio();
//mainFrame.setSize(400, 400);
mainFrame.setTitle("Esempio");

Button Esci = new Button("Esci");
Button Salva = new Button("Salva");
Button Annulla = new Button("Annulla");
Button Elimina = new Button("Elimina");

TextField tf1, tf2, tf3, tf4;
// a blank text field
tf1 = new TextField();
// blank field of 20 columns
tf2 = new TextField("", 20);
// predefined text displayed
tf3 = new TextField("Hello!");
// predefined text in 30 columns
tf4 = new TextField("Hello", 30);

mainFrame.add(tf4);

//Posizione e Dimensione del pulsante
Esci.setBounds(10, 370, 100, 30);
Salva.setBounds(120, 370, 100, 30);
Annulla.setBounds(230, 370, 100, 30);
Elimina.setBounds(340, 370, 100, 30);

//Imposta la videata dello schermo Esempio
mainFrame.setBounds(200, 200, 450, 410);

mainFrame.setLayout(null);
mainFrame.add(Esci);
mainFrame.add(Salva);
mainFrame.add(Annulla);
mainFrame.add(Elimina);


//Azione quando l'utente preme il pulsante Esci
Esci.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// operazioni da eseguire al click sul pulsante
System.out.println("Ho premuto il pulsante Esci");
}
});
//Azione quando l'utente preme il pulsante Salva
Salva.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// operazioni da eseguire al click sul pulsante
System.out.println("Ho premuto il pulsante Salva");
}
});
//Azione quando l'utente preme il pulsante Annulla
Annulla.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// operazioni da eseguire al click sul pulsante
System.out.println("Ho premuto il pulsante Annulla");
}
});
//Azione quando l'utente preme il pulsante Elimina
Elimina.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// operazioni da eseguire al click sul pulsante
System.out.println("Ho premuto il pulsante Elimina");
}
});

mainFrame.setVisible(true);
}
}

LeleFT
08-05-2004, 19:14
Perchè non li hai aggiunti con il metodo add come hai fatto per i pulsanti!
Aggiungi questo nel main():


mainFrame.setLayout(null);
mainFrame.add(tf1);
mainFrame.add(tf2);
mainFrame.add(tf3);
mainFrame.add(tf4);


Ciao. :ciauz:

allejo
10-05-2004, 09:14
Ho fatto come dicevi tu ma non mi fa vedere i campi text.
Come mai?

abcd1000
10-05-2004, 11:40
allora io invece di Frame userei JFrame, quindi al posto di
class Esempio extends Frame
scriverei
class Esempio extends JFrame

Poi dagli un layout, altrimenti come fa a sapere come disporre gli oggetti a video? quindi al posto di
mainFrame.setLayout(null);
potresti usare
mainFrame.setLayout(new Flowlayout());

Dopodichè per aggiungere gli oggetti al tup frame devi scrivere

Container c = frame.getContentPane();
c.add(tf1);
c.add(tf2);
c.add(tf3);
c.add(tf4);

non puoi utilizzare il metodo add direttamente sul frame, devi passare dal suo contentPane
(questa caratteristica è cambiata dalla versione sdk 1.5 in poi che però è in versione beta)

allejo
10-05-2004, 11:48
Non capisco la differenza fra Frame e JFrame?

abcd1000
10-05-2004, 11:53
frame usa le AWT e JFrame le Swing
Per capire cosa sono le awt e le swing devi studiarti il java, qui trovi un ottimo tutorial
http://java.sun.com/docs/books/tutorial/uiswing/learn/index.html

Se non hai tempo di studiarlo, fidati e usa JFrame.

allejo
10-05-2004, 12:05
Facendo così
import java.swing.*;
mi dice
package java.swing does not exist
Xkè?

abcd1000
10-05-2004, 12:07
che versione del java usi?

Wave
10-05-2004, 12:07
import javax.swing.*

hai dimenticato la x

allejo
10-05-2004, 12:08
Ho trovato l'errore devo fare così
import javax.swing.*;

Loading