Swing : Toolbars

Tool bar component is a container for button , images , labels that can be added to any Frame. It contains horizontally aligned components and can be dragged and drop in window. You can add more then one tool bar to your window.

Often too bars are used to access functionality that is also listed in menus.

This facility is provided by the class JToolBar that is in javax.swing packge. There are following methods and constructors use commonly.
Constructors
JToolBar() it creates the toolbar with HORIZONTAL orientation.
JToolBar(int orientation)  it creates the toolbar with specified orientation.
JToolBar(String name)  it creates the toolbar with specified name and HORIZONTAL orientation.
JToolBar(String name, int orientation) it creates the toolbar with specified name and specified orientation.

Methods
add(Copoenent) adds component to tool bar
addSeparator() adds separator of default size to the end of the tool bar.
setFloatable(boolean b) Sets the floatable property, which must be true for the user to move the tool bar.
setMargin(Insets m)      Sets the margin between the tool bar's border and its buttons.
setOrientation(int o)    Sets the orientation of the tool bar.
setRollover(boolean rollover)      Sets the rollover state of this toolbar.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class ToolBarDemo
{
    public static void main(String ar[])
    {
        JFrame frame=new JFrame("");
        JDesktopPane desktop=new JDesktopPane();
        
        JToolBar tb=new JToolBar("tool bar 1"JToolBar.HORIZONTAL);
        tb.add(new JButton("Button 1"));
        tb.add(new JButton("Button 2"));
        tb.addSeparator();
        tb.add(new JButton("Button 3"));        
       JToolBar tb1=new JToolBar("tool bar 2"JToolBar.HORIZONTAL);
        tb1.add(new JButton("Button 4"));
        tb1.add(new JButton("Button 5"));     
        desktop.add(new InFrame("Frame 1"));
        desktop.add(new InFrame("Frame 2"));
        desktop.add(new InFrame("Frame 3"));

        frame.add(desktop, BorderLayout.CENTER);
        frame.getContentPane().add(tb,BorderLayout.NORTH);          
        tb.add(tb1);
        frame.setBounds(200,100,400,300);
        frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );     
        try {
               UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
                SwingUtilities.updateComponentTreeUI(frame);
        } catch (Exception e) {}

        frame.setVisible(true);
    }
}
class InFrame extends JInternalFrame
{
    InFrame(String s)
    {
        setTitle(s);
        setSize(300,200);
        setVisible(true);
    }
}


No comments:

Popular Posts