JTabbedPane Issue - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

JTabbedPane Issue

DenKainDenKain Posts: 17Member
Some of you might remember my last post about this but I have changed the code around to make it easier to add a JPanel to a frame and it seems I am doing something wrong.

[code]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JTabbedPane;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JComponent;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
//Specific AWTs that your calling
//import java.awt.BorderLayout;
//import java.awt.Dimension;
//import java.awt.GridLayout;
//import java.awt.event.KeyEvent;

public class BoSMain extends JPanel
{

private JTabbedPane tabbedPane;
private JPanel panel1;
private JPanel panel2;
private JPanel panel3;

public JMenuBar createMenuBar()
{
JMenuBar menuBar;
JMenu menu, submenu;
JMenuItem menuItem;

//Create the menu bar.
menuBar = new JMenuBar();

//Build the first menu.
menu = new JMenu("File");
menuBar.add(menu);

//a group of JMenuItems
menuItem = new JMenuItem("Open");
menu.add(menuItem);

//a submenu
menu.addSeparator();
submenu = new JMenu("A submenu");

menuItem = new JMenuItem("An item in the submenu");
submenu.add(menuItem);

menuItem = new JMenuItem("Another item");
submenu.add(menuItem);
menu.add(submenu);

return menuBar;
}

public BoSMain()
{


// Commented out to try a new way.
//
// super(new GridLayout(1, 1));
//
// JTabbedPane tabbedPane = new JTabbedPane();
// ImageIcon icon = createImageIcon("middle.gif");
//
// JComponent panel1 = makeTextPanel("Panel #1");
// tabbedPane.addTab("Tab 1", icon, panel1,
// "Does nothing");
// tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);
//
// JComponent panel2 = makeTextPanel("Panel #2");
// tabbedPane.addTab("Tab 2", icon, panel2,
// "Does twice as much nothing");
// tabbedPane.setMnemonicAt(1, KeyEvent.VK_2);
//
// JComponent panel3 = makeTextPanel("Panel #3");
// tabbedPane.addTab("Tab 3", icon, panel3,
// "Still does nothing");
// tabbedPane.setMnemonicAt(2, KeyEvent.VK_3);
//
// JComponent panel4 = makeTextPanel(
// "Panel #4 (has a preferred size of 410 x 50).");
// panel4.setPreferredSize(new Dimension(410, 50));
// tabbedPane.addTab("Tab 4", icon, panel4,
// "Does nothing at all");
// tabbedPane.setMnemonicAt(3, KeyEvent.VK_4);

//Add the tabbed pane to this panel.
//add(tabbedPane);

//Uncomment the following line to use scrolling tabs.
//tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);

createPage1();

// Create a tabbed pane
tabbedPane = new JTabbedPane();
tabbedPane.addTab( "Page 1", panel1 );

}


public void createPage1()
{
panel1 = new JPanel();
panel1.setLayout( null );

JLabel label1 = new JLabel( "Username:" );
label1.setBounds( 10, 15, 150, 20 );
panel1.add( label1 );

JTextField field = new JTextField();
field.setBounds( 10, 35, 150, 20 );
panel1.add( field );

JLabel label2 = new JLabel( "Password:" );
label2.setBounds( 10, 60, 150, 20 );
panel1.add( label2 );

JPasswordField fieldPass = new JPasswordField();
fieldPass.setBounds( 10, 80, 150, 20 );
panel1.add( fieldPass );
}



// Commented out to try something new.

// protected JComponent makeTextPanel(String text)
// {
// JPanel panel = new JPanel(false);
// JLabel filler = new JLabel(text);
// filler.setHorizontalAlignment(JLabel.CENTER);
// panel.setLayout(new GridLayout(1, 1));
// panel.add(filler);
// return panel;
// }

/** Returns an ImageIcon, or null if the path was invalid. */
protected static ImageIcon createImageIcon(String path)
{
java.net.URL imgURL = BoSMain.class.getResource(path);
if (imgURL != null)
{
return new ImageIcon(imgURL);
}
else
{
System.err.println("Couldn't find file: " + path);
return null;
}
}

/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event-dispatching thread.
*/
private static void createAndShowGUI()
{
//Create and set up the window.
JFrame frame = new JFrame("Book of Shadows");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//Create and set up the content pane.
BoSMain newContentPane = new BoSMain();
frame.setJMenuBar(newContentPane.createMenuBar());
newContentPane.setOpaque(true); //content panes must be opaque
frame.getContentPane().add(new BoSMain(),
BorderLayout.CENTER);

JPanel topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );

frame.getContentPane().add(topPanel);


//Display the window and set the size.
frame.pack();
frame.setSize(600, 600);
frame.setVisible(true);
frame.setBackground( Color.gray );
}

public static void main(String[] args)
{
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
createAndShowGUI();
}
});
}
}
[/code]
Sign In or Register to comment.