im new with Swing..im having problem on gridbag layout(my classwork)... im trying to stick a header(label) and a scrollpane(with a JList attach to scrollpane) to a tabbedpane
which the outcome may look like this
but for some reason..my scrollpane doesnt want to show up...
i need some help and tips from you guys and girls..
import java.awt.*;
import java.awt.event.*;
import javax.swing.UIManager;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
import java.text.*;
//Start of Assign2
public class Assign2
{
Dimension screenSize, frameSize; // screen size variables
Font largeFont = new Font("Default", Font.BOLD, 18);
JFrame thisFrame;
//Standard constructor, most of the code for the program will be run from here
public Assign2()
{
disclaimer();
Assign2Frame frame = new Assign2Frame();
frame.setSize(500,350); //Set Screen Size
//frame.validate();
//Exit Listener
frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
frame.setVisible(true); //Must sets frame as visibles
//Position the Frame to the centre of the screen, everytime the program starts
// frame.setLocation((screenSize.width - frameSize.width) / 2,
// (screenSize.height - frameSize.height) /2 );
}
public static void main(String [] args)
{
try
{
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
}
catch (Exception e)
{
e.printStackTrace();
}
new Assign2();
}
public void disclaimer()
{
System.out.println("My work + Other ppl's help too");
}
}
//End
import java.awt.*;
import java.awt.event.*;
import javax.swing.UIManager;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
import java.text.*;
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 java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.KeyEvent;
//Start of Assign2Frame
public class Assign2Frame extends JFrame
{
private JTabbedPane tabbedPane;
private JPanel panel1;
private JPanel panel2;
private JPanel panel3;
private JList list;
private JScrollPane scroll;
public Assign2Frame()
{
//Set the default window close operation
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(new Dimension(500,350));
this.setTitle("Geeky's DVD Database");
JPanel contentPane;
contentPane = (JPanel)this.getContentPane();
BorderLayout borderLayout = new BorderLayout();
contentPane.setLayout(borderLayout);
// Video Information
JTabbedPane tabbedPane = new JTabbedPane();
//Create new panel
panel1 = new JPanel();
tabbedPane.addTab("Video Information", panel1);
//Panel1 = GridBagLayout
panel1.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.gridx=0; c.gridy=0;
c.anchor = GridBagConstraints.WEST;
panel1.add(new JLabel("Video Database System"), c);
/*Panel1 = BorderLayout
panel1.setLayout(new BorderLayout());
panel1.add(new JLabel("<html><font size = 18><b>Video Database System</b></font></html>"), BorderLayout.NORTH);
*/
// JList in Panel1
String[] titleDVD = {
"Wargames",
"Apt Pupil",
"Pitch Black",
"Swordfish",
"Phantom Menace",
"Attack of the Clones",
"Dark City",
"Cube",
"Mask",
"Dogma",
"RoboTech",
"Spiderman",
"Daredevil",
"Contact",
"The Lost Boys",
"Dune",
"Mars Attacks",
"Austin Powers",
"The One",
"Superman"
};
c.gridx=0; c.gridy=1;
JList list = new JList(titleDVD);
JScrollPane scroll = new JScrollPane(list);
//list.setMinimumSize(new Dimension(100,100));
scroll.getViewport().add(list);
// Genre Filter
//Create new panel
panel2 = new JPanel();
tabbedPane.addTab("Genre Filter", panel2);
// Statistics
//Create new panel
panel3 = new JPanel();
tabbedPane.addTab("Statistics", panel3);
getContentPane().add(tabbedPane);
getContentPane().add(scroll);
setResizable(false);
setVisible (true);
}
}
//End