Here user can add different elements into the toolbar will be shown as follows.
AddToolbars.java
[java]package swing;//created a package
import java.awt.BorderLayout;//imort all required pacakges
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.AbstractAction;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.JTextPane;
import javax.swing.JToolBar;
import javax.swing.KeyStroke;
import javax.swing.border.BevelBorder;
public class AddToolbars extends JPanel {//created a class AddToolbars that should extend JPanel
public JTextPane pane;//created pane
public JMenuBar menuBar;//created menubar
public JToolBar toolBar;//created toolbar
String fonts[] = { "Serif", "SansSerif", "Monospaced", "Dialog",
"DialogInput" };//these are the fonts needs select depends on the requirement
public AddToolbars() {
menuBar = new JMenuBar();
// Create a set of actions to use in both the menu and toolbar
DemoAction leftJustifyAction = new DemoAction("Left", new ImageIcon(
"1.gif"), "Left justify text", 'L');
DemoAction rightJustifyAction = new DemoAction("Right", new ImageIcon(
"2.gif"), "Right justify text", 'R');
DemoAction centerJustifyAction = new DemoAction("Center",
new ImageIcon("3.gif"), "Center justify text", 'M');
DemoAction fullJustifyAction = new DemoAction("Full", new ImageIcon(
"4.gif"), "Full justify text", 'F');
JMenu formatMenu = new JMenu("Justify");
formatMenu.add(leftJustifyAction);//based onthe clicking it happens
formatMenu.add(rightJustifyAction);
formatMenu.add(centerJustifyAction);
formatMenu.add(fullJustifyAction);
menuBar.add(formatMenu);
toolBar = new JToolBar("Formatting");
toolBar.add(leftJustifyAction);
toolBar.add(rightJustifyAction);
toolBar.add(centerJustifyAction);
toolBar.add(fullJustifyAction);
toolBar.addSeparator();
JLabel label = new JLabel("Font");
toolBar.add(label);
toolBar.addSeparator();
JComboBox combo = new JComboBox(fonts);//in combo box fonts have been created.
combo.addActionListener(new ActionListener() {//ActionListener interface needs to be implemented for the event
public void actionPerformed(ActionEvent e) {//depends on the event it will be performed
try {
pane.getStyledDocument().insertString(
0,
"Font ["
+ ((JComboBox) e.getSource())
.getSelectedItem() + "] chosen!\n",
null);
} catch (Exception ex) {
ex.printStackTrace();
}
}
});
toolBar.add(combo);
// Disable one of the Actions
fullJustifyAction.setEnabled(false);
}
public static void main(String s[]) {
AddToolbars example = new AddToolbars();
example.pane = new JTextPane();
example.pane.setPreferredSize(new Dimension(250, 250));
example.pane.setBorder(new BevelBorder(BevelBorder.LOWERED));
example.toolBar.setMaximumSize(example.toolBar.getSize());
JFrame frame = new JFrame("Menu Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setJMenuBar(example.menuBar);
frame.getContentPane().add(example.toolBar, BorderLayout.NORTH);
frame.getContentPane().add(example.pane, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
class DemoAction extends AbstractAction {
public DemoAction(String text, Icon icon, String description,
char accelerator) {
super(text, icon);
putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(accelerator,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
putValue(SHORT_DESCRIPTION, description);
}
public void actionPerformed(ActionEvent e) {
try {
pane.getStyledDocument().insertString(0,
"Action [" + getValue(NAME) + "] performed!\n", null);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}[/java]
Here created a class that should extends JPanel as follows.
[java]public class AddToolbars extends JPanel {//created a class AddToolbars that should extend JPanel
[/java]
Create menubar, pane, toolbar and create font size and font text style as shown follows.
[java]public JTextPane pane;//created pane
public JMenuBar menuBar;//created menubar
public JToolBar toolBar;//created toolbar
String fonts[] = { "Serif", "SansSerif", "Monospaced", "Dialog",
"DialogInput" };//these are the fonts needs select depends on the requirement[/java]
Create actions while performing on menu and toolbars as follows.
[java]DemoAction leftJustifyAction = new DemoAction("Left", new ImageIcon(
"1.gif"), "Left justify text", 'L');
DemoAction rightJustifyAction = new DemoAction("Right", new ImageIcon(
"2.gif"), "Right justify text", 'R');
DemoAction centerJustifyAction = new DemoAction("Center",
new ImageIcon("3.gif"), "Center justify text", 'M');
DemoAction fullJustifyAction = new DemoAction("Full", new ImageIcon(
"4.gif"), "Full justify text", 'F');[/java]
Create font size and implement ActionListener interface to listen the events as shown follows.
[java]JComboBox combo = new JComboBox(fonts);//in combo box fonts have been created.
combo.addActionListener(new ActionListener() {//ActionListener interface needs to be implemented for the event
public void actionPerformed(ActionEvent e) {[/java]
Create title of the window and add instance of the window such as closing functions as follows.
[java]JFrame frame = new JFrame("Menu Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setJMenuBar(example.menuBar);
frame.getContentPane().add(example.toolBar, BorderLayout.NORTH);
frame.getContentPane().add(example.pane, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);[/java]
Output:
After executing the above code, output will be as follows.
In this image combo box inserted, by clicking on the combo box user can select the needed font areas will be displayed, when click on Serif then it displays that Font[Serif]chosen! .