PDA

Visualizza la versione completa : [JAVA] Due domande in una


degno
20-09-2002, 15:16
Non riesco a far funzionare il comando setSize() con i pannelli.
Inoltre vorrei sapere se esiste (spero proprio di sì) un modo per chiudere solo un frame e non tutta l' applicazione.
Questo programma apre un frame con un bottone che apre a sua volta un altro frame:

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


public class setsize {

public static void main(String[] args)
{
SimpleFrame frame=new SimpleFrame();
}
}

class SimpleFrame extends JFrame implements ActionListener
{
JButton butt;
JPanel pannello;
SimpleFrame f ;

SimpleFrame()
{

super("Frame Title");
setSize(300, 300);
addWindowListener(new WindowAdapter
{
public void windowClosing (WindowEvent e)
{
System.exit(0);
}
});


butt= new JButton("Ok");
butt.addActionListener(this);
pannello=new JPanel();
pannello.setBackground(new Color(200,180,0));
pannello.setSize(200,200);
pannello.add(butt);


getContentPane().add(pannello);

show();
}

public void actionPerformed(ActionEvent evt)
{
f=new SimpleFrame();
if (evt.getSource()==butt) f.setVisible(true);
}
}

Magicianred
20-09-2002, 15:56
Ciao!

Perché invece di usare setSize() sul panel non crei un LayoutManager nel panel? es:. new JPanel(layoutManager), io di solito faccio così.

Per il Frame crei un evento che provoca il frame.dispose();

^__^ sono stato utile? :-P

Amd00
20-09-2002, 17:49
per mostrare un frame utilizza il metodo show()
per nasconderlo hide()

degno
20-09-2002, 18:26
Grazie per le informazioni. Ancora non ho provato il sistema layoutManager perchè ne ignoravo l' esistenza e lo devo studiare, ma penso che si rivelerà una buona soluzione; cmq nessuno riesce a far funzionare setSize() in questo programma?

Loading