swing layout question

I am a little confused about defining the layout using swing.heres what I want to do....

I have a background image say background.gif
Then I have 5 images, say c1.gif-c5.gif
I also have three buttons and a slider and I want the page to be like this(approximately) with the background image in the back...

|                      slider   |      So basically the slider is near the top right with the 3 buttons
|                    b1 b2 b3|     lined up under it. Also could you please give me the code that
|                                 |   would let me display the images and also how to remove them...
|  c3 c4 c5                   |
|                                 |
|                    c1   c2   |
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

AkindoAuthor Commented:
btw, I forgot to add I also want a menu bar....

I think you should have a look at the class JDesktopPane and play around with the LayoutManagers , and LayeredPanes.

Maybe this thread could help you


Thats what I could help.

Here's most of it for you.  You'll need to do some work to get the images laid out the way you want, but this should be enough to get you started.

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

public class Slider
    private JFrame mainFrame;
    private JMenuBar createMenuBar()
        JMenuItem fileNew = new JMenuItem("New");
        JMenuItem fileExit = new JMenuItem("Exit");
        fileExit.addActionListener(new ActionListener()
            public void actionPerformed(ActionEvent e)
        JMenu fileMenu = new JMenu("File");
        JMenuBar menuBar = new JMenuBar();
        return (menuBar);
    private void init()
        JSlider slider = new JSlider(0, 100);
        JButton button1 = new JButton("Button1");
        JButton button2 = new JButton("Button2");
        JButton button3 = new JButton("Button3");
        JPanel buttonPanel = new JPanel(new FlowLayout());
        JPanel sliderAndButtons = new JPanel(new BorderLayout());
        sliderAndButtons.add(slider, BorderLayout.NORTH);
        sliderAndButtons.add(buttonPanel, BorderLayout.SOUTH);
        JPanel topPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
        JPanel centerImagePanel = new JPanel(new GridLayout(1, 3));
        centerImagePanel.add(new JLabel("c3"));
        centerImagePanel.add(new JLabel("c4"));
        centerImagePanel.add(new JLabel("c5"));
        JPanel bottomImagePanel = new JPanel(new GridLayout(1, 2));
        bottomImagePanel.add(new JLabel("c1"));
        bottomImagePanel.add(new JLabel("c2"));
        JPanel mainPanel = new JPanel(new BorderLayout());
        mainPanel.add(topPanel, BorderLayout.NORTH);
        mainPanel.add(centerImagePanel, BorderLayout.CENTER);
        mainPanel.add(bottomImagePanel, BorderLayout.SOUTH);
        mainFrame = new JFrame("Slider Frame");
        mainFrame.setSize(new Dimension(640, 480));
    public static void main(String[] args)
        new Slider().init();

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.