Solved

help in Layout

Posted on 2000-05-09
11
173 Views
Last Modified: 2010-04-01
hi

I have 2 lists and 2 buttons

----------------------                                    -----------------------

                                         Add
                                       -------->

                                         Del
                                      <--------

----------------------                                    ------------------------

How do I lay them out on screen?

I tried GridLayout overall for Panle and putting the 2 buttons in a sub Panel with BorderLayout.north and south but is not giving nice look

any better suggestion ?

thanks you!
0
Comment
Question by:ShoGun
  • 5
  • 5
11 Comments
 

Author Comment

by:ShoGun
ID: 2794377
code is like this

Panel buttons = new Panel(new BorderLayout());            
            buttons.add(add,BorderLayout.NORTH);
buttons.add(del,BorderLayout.SOUTH);

Panel top = new Panel(new GridLayout(1,3));            top.add(List1);
top.add(buttons);
top.add(List2);
            
add(top);

.....
0
 
LVL 4

Accepted Solution

by:
jerch earned 155 total points
ID: 2795009
0
 
LVL 1

Expert Comment

by:Ik_Khan_Pk
ID: 2795788
//////////////////////////////////
//THE SwingStart PROGRAM.//
//////////////////////////////////

import java.awt.*;
import java.awt.event.*;
import com.sun.java.swing.*;
import com.sun.java.swing.event.*;
import com.sun.java.swing.border.*;
public class SwingStart extends Frame {
 public static int WIDTH = 450;
 public static int HEIGHT = 450;
 public static String TITLE = "SwingStart";
 // Swing components
 JTabbedPane tabbedPane = new JTabbedPane();
 JPanel buttonPanel = new JPanel();
 JPanel barPanel = new JPanel();
 JPanel listPanel = new JPanel();
 JPanel tablePanel = new JPanel();
 JPanel[] panels = {buttonPanel,barPanel,listPanel,tablePanel};
 Icon worldIcon = new ImageIcon("world.gif");
 Icon printerIcon = new ImageIcon("printer.gif");
 Icon leaf1Icon = new ImageIcon("leaf1.gif");
 Icon leaf2Icon = new ImageIcon("leaf2.gif");
 Icon leaf3Icon = new ImageIcon("leaf3.gif");
 Icon[] leaves = {leaf1Icon, leaf2Icon, leaf3Icon};
 JButton printerButton = new JButton("Print",printerIcon);
 JToggleButton worldButton = new JToggleButton("Connect",worldIcon,true);
 JList leafList = new JList(leaves);
 JSlider slider = new JSlider(JSlider.VERTICAL, 0, 100, 60);
 JProgressBar progressBar = new JProgressBar();
 String[] columns = {"Product ID","Description","Price"};
 Object[][] cells = {columns,{"zvga-1234","Video Card","$50"},
{"56m-11","56K Modem","$315"},
  {"dc-10","Net Card","$499"}};
 JTable table = new JTable(cells,columns);
 {
  super(TITLE);
  addWindowListener(new WindowHandler());
  buildGUI();
  setSize(WIDTH,HEIGHT);
  setBackground(Color.darkGray);
  show();
 }
 
 void buildGUI() {
  // Set up tabbed pane
  String[] tabs = {"Buttons","Bars","Lists","Table"};
  String[] tabTips = {"A Button and a Toggle Button",
   "A Slider and a Progress Bar",
   "An Icon List",
   "A Cost Table"};
  for(int i=0;i<tabs.length;++i) {
   panels[i].setBackground(Color.lightGray);
   panels[i].setBorder(new TitledBorder(tabTips[i]));
   tabbedPane.addTab(tabs[i],null,panels[i],tabTips[i]);
  }
  addComponentsToTabs();
  add("Center",tabbedPane);
 }
 void addComponentsToTabs() {
  setupButtonPanel();
  setupBarPanel();
  setupListPanel();
  setupTablePanel();
}
 void setupButtonPanel() {
  printerButton.setBackground(Color.white);
  worldButton.setBackground(Color.white);
  buttonPanel.add(printerButton);
  buttonPanel.add(worldButton);
 }
 
 void setupBarPanel() {
  slider.setMajorTickSpacing(10);
  slider.setMinorTickSpacing(5);
  slider.setPaintTicks(true);
  slider.addChangeListener(new SliderHandler());
  progressBar.setOrientation(JProgressBar.HORIZONTAL);
  progressBar.setMinimum(0);
  progressBar.setMaximum(100);
  progressBar.setValue(60);
  progressBar.setBorderPainted(true);
  barPanel.add(new JLabel("Slider"));
  barPanel.add(slider);
  barPanel.add(new JLabel("Progress Bar"));
  barPanel.add(progressBar);
}
 
 void setupListPanel() {
  leafList.setFixedCellHeight(123);
  listPanel.add(leafList);
 }
 
 void setupTablePanel() {
  tablePanel.add(table);
 }
 public static void main(String[] args) {
   SwingStart app = new SwingStart();
 }
 public class WindowHandler extends WindowAdapter {
  public void windowClosing(WindowEvent e) {
   System.exit(0);
  }
 }
 public class SliderHandler implements ChangeListener {
  public void stateChanged(ChangeEvent e) {
   progressBar.setValue(slider.getValue());
  }
 }
}
0
 

Author Comment

by:ShoGun
ID: 2796423
Adjusted points from 95 to 155
0
 

Author Comment

by:ShoGun
ID: 2796425
Jerson,

I will go with gridBagLayout and thnaks for that!!! it is very teachable ,I will try not to ask you question but can you help me if i need?

Thanks you!
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 
LVL 4

Expert Comment

by:jerch
ID: 2798403
Sure... no problem... also check this one

http://pandonia.canberra.edu.au/java/xadvisor/gridbag/gridbag.html

best regards...
Jerson
0
 
LVL 4

Expert Comment

by:jerch
ID: 2798436
Sure... no problem... also check this one

http://pandonia.canberra.edu.au/java/xadvisor/gridbag/gridbag.html

best regards...
Jerson
0
 

Author Comment

by:ShoGun
ID: 2805831
thanks i finished that !wow that link is superb
0
 
LVL 4

Expert Comment

by:jerch
ID: 2807673
yeah.. I read it while I was preparing for the SCJP exam. :)

Jerson
0
 

Author Comment

by:ShoGun
ID: 2814320
I printed and raed the whole article and did another layout in guess what ? 25 mins while it took me 2 days to get the first one working nicely.

but did you know that there is a bug for GridBagLayout and it's removed only in latest 2 versions f JDK?

Thanks you!
0
 
LVL 4

Expert Comment

by:jerch
ID: 2815538
:)
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

For customizing the look of your lightweight component and making it look lucid like it was made of glass. Or: how to make your component more Apple-ish ;) This tip assumes your component to be of rectangular shape and completely opaque. (COD…
Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
This video teaches viewers about errors in exception handling.

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now