Попробуем сделать что-то типа такого:
Код JToolBarDemo.java
Код:
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class JToolBarDemo extends JFrame implements ActionListener {
private JMenuItem popupNew = null; // Контекстное меню "Новый"
private JMenuItem popupOpen = null; // Контекстное меню "Открыть"
private JMenuItem popupSave = null; // Контекстное меню "Сохранить"
private JMenuItem popupPrint = null; // Контекстное меню "Напечатать"
private JMenuItem popupExit = null; // Контекстное меню "Выход"
private final JButton btnNew = null; // Кнопка "Новый"
private final JButton btnOpen = null; // Кнопка "Открыть"
private final JButton btnSave = null; // Кнопка "Сохранить"
private final JButton btnPrint = null; // Кнопка "Печать"
public JToolBarDemo() {
Color c = new Color(234, 234, 234); // Цвет фон кнопок
Dimension d = new Dimension(32, 32); // Размер кнопки
setTitle("JToolBarDemo"); // Устанавливаем заголовок окна JToolBarDemo
setSize(640, 480); // Устанавливаем размер окна
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Устанавливаем обработчик прерывание при закрытие программы, просто выйти
setLayout(new BorderLayout()); // Устанавливаем Layout
JMenuBar mnubar = new JMenuBar(); // Строка меню
JMenu mnu1 = new JMenu("Файл"); // Меню "Файл"
popupNew = new JMenuItem("Новый"); // Добавляем в контекстное меню "Новый"
popupNew.addActionListener(this);
mnu1.add(popupNew);
popupOpen = new JMenuItem("Открыть"); // Добавляем в контекстное меню "Открыть"
popupOpen.addActionListener(this);
mnu1.add(popupOpen);
popupSave = new JMenuItem("Сохранить"); // Добавляем в контекстное меню "Сохранить"
popupSave.addActionListener(this);
mnu1.add(popupSave);
JSeparator sep1 = new JSeparator(); // Добавляем разделитель
mnu1.add(sep1);
popupPrint = new JMenuItem("Печать"); // Добавляем в контекстное меню "Печать"
popupPrint.addActionListener(this);
mnu1.add(popupPrint);
JSeparator sep2 = new JSeparator(); // Добавляем разделитель
mnu1.add(sep2);
popupExit = new JMenuItem("Выход"); // Добавляем в контекстное меню "Выход"
popupExit.addActionListener(this);
mnu1.add(popupExit);
mnubar.add(mnu1); // Добавляем меню в строку меню
setJMenuBar(mnubar); // Добавляем строку меню в наше приложение
JToolBar toolbar = new JToolBar("Toolbar Demo"); // Создаём панель инструментов
toolbar.setFloatable(true);
toolbar.setRollover(true);
JButton btnNew = new JButton(new ImageIcon(getClass().getResource("/_NEW.PNG"))); // Добавляем кнопку "новый файл", в панель инструментов
btnNew.addActionListener(this);
btnNew.setToolTipText("Новый файл");
btnNew.setSize(d);
btnNew.setBackground(c);
toolbar.add(btnNew);
JButton btnOpen = new JButton(new ImageIcon(getClass().getResource("/_OPEN.PNG"))); // Добавляем кнопку "открыть файл", в панель инструментов
btnOpen.addActionListener(this);
btnOpen.setToolTipText("Открыть файл");
btnOpen.setSize(d);
btnOpen.setBackground(c);
toolbar.add(btnOpen);
JButton btnSave = new JButton(new ImageIcon(getClass().getResource("/_SAVE.PNG"))); // Добавляем кнопку "сохранить файл", в панель инструментов
btnSave.addActionListener(this);
btnSave.setToolTipText("Сохранить файл");
btnSave.setSize(d);
btnSave.setBackground(c);
toolbar.add(btnSave);
JSeparator sep3 = new JSeparator() { // Добавляем разделитель
@Override
public Dimension getMaximumSize(){
return new Dimension(5, 32); // Размер разделителя
}
};
sep3.setOrientation(JSeparator.VERTICAL); // Вертикальный разделитель
toolbar.add(sep3);
JButton btnPrint = new JButton(new ImageIcon(getClass().getResource("/_PRINT.PNG"))); // Добавляем кнопку "печать", в панель инструментов
btnPrint.addActionListener(this);
btnPrint.setToolTipText("Печать");
btnPrint.setSize(d);
btnPrint.setBackground(c);
toolbar.add(btnPrint);
add(toolbar, BorderLayout.NORTH);
JLabel lbStatus = new JLabel("Тут Statusbar...");
add(lbStatus, BorderLayout.SOUTH);
setVisible(true);
}
public static void main(String[] args) {
new JToolBarDemo(); // Инициализация
}
// Ловим событие
public void actionPerformed(ActionEvent e) {
// Выдаём событие на экран
System.out.println(e.getSource().toString());
// Если нажали на меню "Выход", то выходим
if(e.getSource() == popupExit) System.exit(0);
}
}
Затем откомпилируем
Код:
javac -encoding utf8 JToolBarDemo.java
и запустим наше приложение
Код:
java JToolBarDemo