In Swing , you cannot call the setLayout( ) method direct from JFrame , like
the one below:
javax.swing.JFrame.setLayout(new BorderLayout()) ,
This is because you cannot add containers directly to the JFrame;
Use the following line always as advised in the Exception message of your
code:
javax.swing.JFrame.getContentPane().setLayout(new BorderLayout()):
eg:
public static void main(String[] args){
JFrame frame = new JFrame("Frame");
JPanel panel = new JPanel(new GridLayout());
frame.getContentPane.setLayout(new BorderLayout()); //correct
//error
//frame.setLayout(new BorderLayout());
frame.getContentPane.add(panel,BorderLayout.CENTER); //correct
//error
// frame.add(panel, BorderLayout.CENTER):
}
Hope it helps,
Sione.
----- Original Message -----
From: "Helen Yi" <y.yi@xxxxxxxxxxxxx>
To: <visad-list@xxxxxxxxxxxxx>
Sent: Wednesday, February 13, 2002 8:39 AM
Subject: Can anyone tell me what the following error mean? and how to fix
it?
>
> I try to run the WidgetTest of visad's util package, but got the
> following error
>
> helen@virga [87] j/users/helen/VisAD/ava visad.util.WidgetTest
> Exception in thread "main" java.lang.Error: Do not use
> javax.swing.JFrame.setLayout() use
> javax.swing.JFrame.getContentPane().setLayout() instead
> at javax.swing.JFrame.createRootPaneException(JFrame.java:402,
> Compiled Code)
> at javax.swing.JFrame.setLayout(JFrame.java:468, Compiled Code)
> at visad.util.WidgetTest.main(WidgetTest.java:63, Compiled Code)
>
>
>
> I got the same error as above when I am running VisAD on SGI Octane and
> Windows 2000.
> Please help me to fix the problem. Great thanks in advance.
>
>
> Helen
>
>
>
>
>