который создает adapterы для элементов
Код, который создает adapterы для элементов меню достаточно прост:
new MenuHelpTextAdapter( item1, " Help text for item 1", statusBar);
new MenuHelpTextAdapter( item2, "Item 2 info", statusBar);
Используя этот adapter, как внутренний класс в данном случае, мы можем создать полную программу:
import java.awt.event.*; import java.awt.*; import javax.swing.*; import javax.swing.event.*;
public class StatusBarTest { JLabel statusBar; JMenuItem item1; JMenuItem item2;
private void init() { JFrame frame = new JFrame("Status Bar Test");
JMenuBar menuBar = new JMenuBar(); frame.setJMenuBar(menuBar); JMenu fileMenu = new JMenu("File"); menuBar.add(fileMenu);
item1 = new JMenuItem("Item 1"); item2 = new JMenuItem("Item 2");
fileMenu.add(item1); fileMenu.add(item2);
Container contentPane = frame.getContentPane(); contentPane.setLayout(new BorderLayout()); contentPane.add( "Center", new JButton( "Main application area"));
statusBar = new JLabel(" ");
contentPane.add("South", statusBar);
new MenuHelpTextAdapter( item1, "Help text for item 1", statusBar); new MenuHelpTextAdapter( item2, "Item 2 info", statusBar);
frame.setSize(400,400); frame.setVisible(true); }
public static void main(String[] args) { StatusBarTest t = new StatusBarTest(); t.init(); }
class MenuHelpTextAdapter implements ChangeListener { private JMenuItem menuItem; private String helpText; private JLabel statusBar;
public MenuHelpTextAdapter( JMenuItem menuItem, String helpText, JLabel statusBar) { this.menuItem = menuItem; this.helpText = helpText; this.statusBar = statusBar; menuItem.addChangeListener(this); }
public void stateChanged (ChangeEvent evt) { if (menuItem.isArmed()) statusBar.setText(helpText); else statusBar.setText(" "); } } }
Содержание Назад
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий