PDA

Visualizza la versione completa : [JAVA] Frame di frame!


Oiziorbaf
26-04-2004, 15:27
Ciao, ora vi illustro il mio problema:
creo un frame pricipale dove ci sn un po di cose, compresi dei tasti, e quando clicco uno di questi tasti, sotto mi deve apparire un frame (nn so se si dice cos) ancorato al frame principale! si pu fare come cosa o no? :confused:? se nn avete capito cosa volevo intendere kiedetemi spiegazioni!
ciao grazie a kiunque mi risponde!
:ciauz:

anx721
26-04-2004, 15:48
Devi utilizzare JInternalFrame e JDesktopFrame: aggiungi un JDesktopFrame al tuo frame principale, poi per aprire altri frame interni aggiungi i JInternalFrame al JDesktopFrame; vedi i tutorial della sun per sapere meglio come usarli. I JInternalFrame sono utilizzati per disporre un frame all'interno di un contenitore, come un qualsisi componente.

Se invece ti serve solo una finestra di dialogo che ti blocca l'applicazione, ad esempio per avvertire l'utente di un messggio d'errore, o per fargli inserire dell'input, usa JOptionPane.

Oiziorbaf
26-04-2004, 16:20
ah ok, visto grazie mille!

Oiziorbaf
26-04-2004, 16:40
Scusa se rompo ancora.....
posso fare un'altra domanda molta stupida???
allora, io ho fatto un programma con un frame lo compilo ed funziona, lo faccio partire da DOS con java nome ma nn mi da ne errore ma nn mi fa vedere niente..... che programma bisogna usare per fare questo?? io ho JBuilder ma nn ci capisco molto....qualcuno mi pu aiutare???

Oiziorbaf
26-04-2004, 17:12
Up, dai rispondente!
VI PREGO!!!!

LeleFT
26-04-2004, 18:30
Hai richiamato il metodo show() o il metodo setVisible(true) da qualche parte, all'interno del costruttore del frame oppure sull'oggetto del frame dopo averlo costruito?

Posta un po' di codice, cos vediamo se c' qualche errore o qualche dimenticanza.


Ciao. :ciauz:

Oiziorbaf
26-04-2004, 18:44
ah si, ora lo vedo! dovevo mettere setvisible!!
come al solito nn saprei come fare senza di te!
GRAZIE MILLE!

Oiziorbaf
26-04-2004, 22:26
Posso fare un'altra domanda???
allora guardate prima il codice:



import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.*;

class moto extends JFrame implements ActionListener{
moto(String tiltle){
}

JButton bott[]=new JButton[6];
int soldi=500;
String cassa="Cassa: ",msg="";

public void init(){
setBackground(Color.red);
setLayout(null);
JButton b1=new JButton("");
JButton b2=new JButton("");
JButton b3=new JButton("");
JButton b4=new JButton("");
JButton b5=new JButton("");
JButton b6=new JButton("");
bott[0]=(JButton) add(b1);
bott[1]=(JButton) add(b2);
bott[2]=(JButton) add(b3);
bott[3]=(JButton) add(b4);
bott[4]=(JButton) add(b5);
bott[5]=(JButton) add(b6);
for (int a=0;a<6;a++)
bott[a].addActionListener(this);
b1.setBounds(300,30,180,30);
b2.setBounds(300,70,180,30);
b3.setBounds(300,110,180,30);
b4.setBounds(300,150,180,30);
b5.setBounds(300,190,180,30);
b6.setBounds(300,230,100,30);
b1.setBackground(Color.blue);
for (int b=0;b<6;b++)
bott[b].setBorder(null);
}
public void paint(Graphics g){
g.drawString(cassa+soldi,600,300);
g.drawString(msg,100,400);
}

public static void main(String args[]){
moto Moto= new moto("");
Moto.setSize(700,500);
Moto.setTitle("");
Moto.setVisible(true);
}
public void actionPerformed(ActionEvent ae){
if (ae.getSource()==bott[0]) msg="hai schiacciato il pulsante 1";
repaint();
}
}


ecco quando lo faccio partire nn mi si vedono i pulsanti??? xk???
Grazie ciao!!
:ciauz:

LeleFT
26-04-2004, 22:45
Perch non li hai aggiunti:


getContentPane().add(b1);
getContentPane().add(b2);
...

all'interno del metodo init().

Poi domanda: da dove chiami il metodo init()? Non stai facendo un'applet, quindi non c' un metodo che viene richiamato per default se non il costruttore: devi quindi inserire nel costruttore la chiamata a init().

Ciao. :ciauz:

Oiziorbaf
26-04-2004, 22:50
ah, ok, grazie per ke correzioni!
ora provo, poi se ho dei problemi ti kiedo ancora qualcos'altro!
ciao, buona notte!

Loading