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

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.