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);
}
}