Hej gutter
Jeg vil lave en GUI som består af en stor frame med 2 paneler, og hvor den anden panel indeholder en tredje panel.
Tjek lige min kode ud:
import java.awt.*;
import javax.swing.*;
import java.awt.Color;
public class GUI extends JFrame
{
private JFrame frame;
private JPanel panel1, panel2, panel3;
private JLabel label1, label2, label3;
public GUI()
{
makeFrame();
}
public static void main(final String[] args)
{
GUI gui = new GUI();
}
public void makeFrame()
{
//Make the Frame
JFrame frame = new JFrame("GUI");
frame.setSize(1200,700);
frame.setResizable(false);
frame.setDefaultCloseOperatio(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
//JPanels
panel1 = new JPanel(new BorderLayout());
panel2 = new JPanel(new BorderLayout());
panel3 = new JPanel(new BorderLayout());
panel1.setPreferredSize(new Dimension(1200, 350));
panel2.setPreferredSize(new Dimension(1200, 350));
panel3.setPreferredSize(new Dimension(1000, 250));
panel1.setBackground(new Color(64,64,64));//darkGrey
panel2.setBackground(new Color(255,0,0));//red
panel3.setBackground(new Color(0,255,0));//green
frame.add(panel1, BorderLayout.NORTH);
frame.add(panel2, BorderLayout.SOUTH);
panel2.add(panel3, BorderLayout.CENTER);
panel1.setVisible(true);
panel2.setVisible(true);
panel3.setVisible(true);
//Set the Frame Visible
frame.setVisible(true);
}
public void panel1()
{
label1 = new JLabel("jeg er label nr 1");
label1.setBounds(5,5,50,50);
add(label1);
}
public void panel2()
{
label2 = new JLabel("jeg er label nr 2");
label2.setBounds(5,5,50,50);
add(label2);
}
public void panel3()
{
label3 = new JLabel("jeg er label nr 3");
label3.setBounds(5,5,50,50);
add(label3);
}
}
Resultatet er at panel1 dukker op i north med dark grey farven og at panel3 dukker op i panel2's plads (south) med panel2's farve (green). Og mine labels eksisterer slet ikke.
Det er jo helt forkert.
Er der nogle der kan hjælpe mig med at løse problemet?
Jeg bruger JBuilder 2005.
Tak på forhånd.