Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

help in Layout

Posted on 2000-05-09
11
Medium Priority
?
184 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 620 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
Build and deliver software with DevOps

A digital transformation requires faster time to market, shorter software development lifecycles, and the ability to adapt rapidly to changing customer demands. DevOps provides the solution.

 

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
 
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

The top UI technologies you need to be aware of

An important part of the job as a front-end developer is to stay up to date and in contact with new tools, trends and workflows. That’s why you cannot miss this upcoming webinar to explore the latest trends in UI technologies!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
Suggested Courses

688 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