How to position the address bar below the toolbar in a simulated Internet Explorer using JFrame

Viewed 20

I am creating a Java program to simulate Windows 95. In the simulator there is a program named "Internet Explorer", which I have simulated using JFrame. I set the positions of the objects within this JFrame without using setLayout(null) and setBounds() methods, instead I used the layout manager, including BorderLayout and FlowLayout. All the icons belonging to the toolbar are evenly juxtaposed using FlowLayout.

However, I ran into a problem while setting the position of the address bar. The address bar should be below the toolbar in the web browser called Internet Explorer. Despite my efforts in altering the source code, the address bar keeps lying on the right side of the toolbar, as shown in the following image: enter image description here

Instead of the effect shown in the first image, I would like to achieve the effect shown in the following image, in which the address bar is below the toolbar: enter image description here

Additionally, the address bar should be almost as long as the width of the web browser. Despite my efforts this has not been successfully achieved. Any suggestions would be appreciated. My code for implementing the Internet Explorer is as follows (The declaration of the Swing objects is outside the constructor, in the beginning of the public class):

internetExplorerOpen=new JFrame();
internetExplorerOpen.setBounds(50,50,650,200);
internetExplorerOpen.setTitle("Microsoft Internet Explorer - [No Document]");
internetExplorerMenuBar=new JMenuBar();
internetExplorerMenu=new JMenu[6];
internetExplorerMenu[0]=new JMenu("File");
internetExplorerMenu[1]=new JMenu("Edit");
internetExplorerMenu[2]=new JMenu("View");
internetExplorerMenu[3]=new JMenu("Favorites");
internetExplorerMenu[4]=new JMenu("Help");
for(int i=0;i<5;i++) {
internetExplorerMenuBar.add(internetExplorerMenu[i]);
}
internetExplorerMenu[5]=new JMenu("Fonts");
for(int i=0;i<6;i++) {
internetExplorerMenu[i].setFont(MSSansSerif14);
}
internetExplorerSeparator=new JSeparator[14];
for(int i=0;i<14;i++) {
internetExplorerSeparator[i]=new JSeparator();
}
internetExplorerMenuItem=new JMenuItem[27];
internetExplorerMenuItem[0]=new JMenuItem("Open...");
internetExplorerMenuItem[0].setAccelerator(ctrlO);
internetExplorerMenuItem[1]=new JMenuItem("Open Start Page");
internetExplorerMenuItem[2]=new JMenuItem("Save As...");
for(int i=0;i<3;i++) {
internetExplorerMenu[0].add(internetExplorerMenuItem[i]);
}
internetExplorerMenu[0].add(internetExplorerSeparator[0]);
internetExplorerMenuItem[2].setAccelerator(ctrlS);
internetExplorerMenuItem[3]=new JMenuItem("Page Setup...");
internetExplorerMenuItem[4]=new JMenuItem("Print");
internetExplorerMenuItem[4].setAccelerator(ctrlP);
for(int i=3;i<5;i++) {
internetExplorerMenu[0].add(internetExplorerMenuItem[i]);
}
internetExplorerMenu[0].add(internetExplorerSeparator[1]);
internetExplorerMenuItem[5]=new JMenuItem("Create Shortcut");
internetExplorerMenu[0].add(internetExplorerMenuItem[5]);
internetExplorerMenu[0].add(internetExplorerSeparator[2]);
internetExplorerMenuItem[6]=new JMenuItem("Exit");
internetExplorerMenu[0].add(internetExplorerMenuItem[6]);
internetExplorerMenu[0].add(internetExplorerSeparator[3]);
internetExplorerMenuItem[7]=new JMenuItem("More History...");
internetExplorerMenu[0].add(internetExplorerMenuItem[7]);
for(int i=1;i<5;i++) {
if(i==3) {
continue;
}
internetExplorerMenuItem[i].setEnabled(false);
}
internetExplorerMenuItem[8]=new JMenuItem("Cut");
internetExplorerMenuItem[8].setAccelerator(ctrlX);
internetExplorerMenuItem[9]=new JMenuItem("Copy");
internetExplorerMenuItem[9].setAccelerator(ctrlC);
internetExplorerMenuItem[10]=new JMenuItem("Paste");
internetExplorerMenuItem[10].setAccelerator(ctrlV);
for(int i=8;i<11;i++) {
internetExplorerMenu[1].add(internetExplorerMenuItem[i]);
}
internetExplorerMenu[1].add(internetExplorerSeparator[4]);
internetExplorerMenuItem[11]=new JMenuItem("Select All");
internetExplorerMenuItem[11].setAccelerator(ctrlA);
internetExplorerMenu[1].add(internetExplorerMenuItem[11]);
internetExplorerMenu[1].add(internetExplorerSeparator[5]);
internetExplorerMenuItem[12]=new JMenuItem("Find...");
internetExplorerMenuItem[12].setAccelerator(ctrlF);
internetExplorerMenu[1].add(internetExplorerMenuItem[12]);
internetExplorerMenuItem[13]=new JMenuItem("Back");
internetExplorerMenuItem[13].setAccelerator(backspace);
internetExplorerMenuItem[14]=new JMenuItem("Forward");
for(int i=13;i<15;i++) {
internetExplorerMenu[2].add(internetExplorerMenuItem[i]);
}
internetExplorerMenu[2].add(internetExplorerSeparator[6]);
for(int i=8;i<15;i++) {
internetExplorerMenuItem[i].setEnabled(false);
}
internetExplorerCheckBoxMenuItem=new JCheckBoxMenuItem[8];
internetExplorerCheckBoxMenuItem[0]=new JCheckBoxMenuItem("Toolbar");
internetExplorerCheckBoxMenuItem[1]=new JCheckBoxMenuItem("Address Bar");
internetExplorerCheckBoxMenuItem[2]=new JCheckBoxMenuItem("Status Bar");
for(int i=0;i<3;i++) {
internetExplorerCheckBoxMenuItem[i].setSelected(true);
internetExplorerMenu[2].add(internetExplorerCheckBoxMenuItem[i]);
}
internetExplorerMenu[2].add(internetExplorerSeparator[7]);
internetExplorerCheckBoxMenuItem[3]=new JCheckBoxMenuItem("Largest");
internetExplorerCheckBoxMenuItem[4]=new JCheckBoxMenuItem("Large");
internetExplorerCheckBoxMenuItem[5]=new JCheckBoxMenuItem("Medium");
internetExplorerCheckBoxMenuItem[5].setSelected(true);
internetExplorerCheckBoxMenuItem[6]=new JCheckBoxMenuItem("Small");
internetExplorerCheckBoxMenuItem[7]=new JCheckBoxMenuItem("Smallest");
for(int i=3;i<8;i++) {
internetExplorerMenu[5].add(internetExplorerCheckBoxMenuItem[i]);
}
for(int i=0;i<8;i++) {
internetExplorerCheckBoxMenuItem[i].addActionListener(this);
internetExplorerCheckBoxMenuItem[i].setFont(MSSansSerif14);
}
internetExplorerMenu[2].add(internetExplorerMenu[5]);
internetExplorerMenu[2].add(internetExplorerSeparator[8]);
internetExplorerMenuItem[15]=new JMenuItem("Stop");
internetExplorerMenuItem[16]=new JMenuItem("Refresh");
internetExplorerMenuItem[16].setEnabled(false);
for(int i=15;i<17;i++) {
internetExplorerMenu[2].add(internetExplorerMenuItem[i]);
}
internetExplorerMenu[2].add(internetExplorerSeparator[9]);
internetExplorerMenuItem[17]=new JMenuItem("Options...");
internetExplorerMenu[2].add(internetExplorerMenuItem[17]);
internetExplorerMenuItem[18]=new JMenuItem("Add To Favorites...");
internetExplorerMenuItem[18].setEnabled(false);
internetExplorerMenuItem[19]=new JMenuItem("Open Favorites...");
for(int i=18;i<20;i++) {
internetExplorerMenu[3].add(internetExplorerMenuItem[i]);
}
internetExplorerMenu[3].add(internetExplorerSeparator[10]);
internetExplorerMenuItem[20]=new JMenuItem("(Empty)");
internetExplorerMenu[3].add(internetExplorerMenuItem[20]);
internetExplorerMenuItem[20].setEnabled(false);
internetExplorerMenuItem[21]=new JMenuItem("Help Topics");
internetExplorerMenu[4].add(internetExplorerMenuItem[21]);
internetExplorerMenu[4].add(internetExplorerSeparator[11]);
internetExplorerMenuItem[22]=new JMenuItem("About Internet Explorer");
internetExplorerMenu[4].add(internetExplorerMenuItem[22]);
for(int i=0;i<23;i++) {
internetExplorerMenuItem[i].addActionListener(this);
internetExplorerMenuItem[i].setFont(MSSansSerif14);
}
internetExplorerOpen.add(internetExplorerMenuBar,BorderLayout.NORTH);
internetExplorerPageUp=new JPanel();
internetExplorerPageUp.setBackground(gray);
internetExplorerScrollPane=new JScrollPane(internetExplorerPageUp);
internetExplorerScrollPane.getHorizontalScrollBar().setBackground(gray);
internetExplorerScrollPane.getVerticalScrollBar().setBackground(gray);
internetExplorerScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
internetExplorerScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
internetExplorerOpen.getContentPane().add(internetExplorerScrollPane);
internetExplorerToolbar=new JPanel();
internetExplorerToolbar.setLayout(new FlowLayout(FlowLayout.LEFT));
internetExplorerToolbarButton=new JButton[13];
for(int i=0;i<13;i++) {
internetExplorerToolbarButton[i]=new JButton();
internetExplorerToolbarButton[i].addActionListener(this);
internetExplorerToolbarButton[i].setFocusable(false);
internetExplorerToolbarButton[i].setSize(20,20);
internetExplorerToolbar.add(internetExplorerToolbarButton[i]);
}
internetExplorerToolbarButton[0].setIcon(new ImageIcon(getClass().getClassLoader().getResource("InternetExplorerToolbarOpen.png")));
internetExplorerToolbarButton[0].setToolTipText("Open...");
internetExplorerToolbarButton[1].setIcon(new ImageIcon(getClass().getClassLoader().getResource("InternetExplorerToolbarOpenStartPage.png")));
internetExplorerToolbarButton[1].setToolTipText("Open Start Page");
internetExplorerToolbarButton[2].setIcon(new ImageIcon(getClass().getClassLoader().getResource("InternetExplorerToolbarBack.png")));
internetExplorerToolbarButton[2].setToolTipText("Back");
internetExplorerToolbarButton[3].setIcon(new ImageIcon(getClass().getClassLoader().getResource("InternetExplorerToolbarForward.png")));
internetExplorerToolbarButton[3].setToolTipText("Forward");
internetExplorerToolbarButton[4].setIcon(new ImageIcon(getClass().getClassLoader().getResource("InternetExplorerToolbarStop.png")));
internetExplorerToolbarButton[4].setToolTipText("Stop");
internetExplorerToolbarButton[5].setIcon(new ImageIcon(getClass().getClassLoader().getResource("InternetExplorerToolbarRefresh.png")));
internetExplorerToolbarButton[5].setToolTipText("Refresh");
internetExplorerToolbarButton[6].setIcon(new ImageIcon(getClass().getClassLoader().getResource("InternetExplorerToolbarOpenFavorites.png")));
internetExplorerToolbarButton[6].setToolTipText("Open Favorites");
internetExplorerToolbarButton[7].setIcon(new ImageIcon(getClass().getClassLoader().getResource("InternetExplorerToolbarAddToFavorites.png")));
internetExplorerToolbarButton[7].setToolTipText("Add To Favorites...");
internetExplorerToolbarButton[8].setIcon(new ImageIcon(getClass().getClassLoader().getResource("InternetExplorerToolbarUseLargerFontDisabled.png")));
internetExplorerToolbarButton[8].setToolTipText("Use Larger Font");
internetExplorerToolbarButton[9].setIcon(new ImageIcon(getClass().getClassLoader().getResource("InternetExplorerToolbarUseSmallerFont.png")));
internetExplorerToolbarButton[9].setToolTipText("Use Smaller Font");
internetExplorerToolbarButton[10].setIcon(new ImageIcon(getClass().getClassLoader().getResource("InternetExplorerToolbarCut.png")));
internetExplorerToolbarButton[10].setToolTipText("Cut");
internetExplorerToolbarButton[11].setIcon(new ImageIcon(getClass().getClassLoader().getResource("InternetExplorerToolbarCopy.png")));
internetExplorerToolbarButton[11].setToolTipText("Copy");
internetExplorerToolbarButton[12].setIcon(new ImageIcon(getClass().getClassLoader().getResource("InternetExplorerToolbarPaste.png")));
internetExplorerToolbarButton[12].setToolTipText("Paste");
for(int i=2;i<9;i++) {
if(i==4||i==6) {
continue;
}
internetExplorerToolbarButton[i].setEnabled(false);
}
internetExplorerPageUp.add(internetExplorerToolbar,BorderLayout.WEST);
internetExplorerAddress=new JComboBox<String>();
internetExplorerAddress.addItem("http://www.home.msn.com");
internetExplorerAddress.setEditable(true);   
internetExplorerAddress.setSize(600,100);
internetExplorerPageDown=new JPanel();
internetExplorerPageDown.add(internetExplorerAddress,BorderLayout.NORTH);
internetExplorerPageUp.add(internetExplorerPageDown);
0 Answers
Related