工具栏和菜单 : 工具栏 « 图形用户界面 « Java

En
Java
1. 图形用户界面
2. 三维图形动画
3. 高级图形
4. 蚂蚁编译
5. Apache类库
6. 统计图
7. 
8. 集合数据结构
9. 数据类型
10. 数据库JDBC
11. 设计模式
12. 开发相关类
13. EJB3
14. 电子邮件
15. 事件
16. 文件输入输出
17. 游戏
18. 泛型
19. GWT
20. Hibernate
21. 本地化
22. J2EE平台
23. 基于J2ME
24. JDK-6
25. JNDI的LDAP
26. JPA
27. JSP技术
28. JSTL
29. 语言基础知识
30. 网络协议
31. PDF格式RTF格式
32. 映射
33. 常规表达式
34. 脚本
35. 安全
36. Servlets
37. Spring
38. Swing组件
39. 图形用户界面
40. SWT-JFace-Eclipse
41. 线程
42. 应用程序
43. Velocity
44. Web服务SOA
45. 可扩展标记语言
Java 教程
Java » 图形用户界面 » 工具栏屏幕截图 
工具栏和菜单
工具栏和菜单
 
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JToolBar;

public class ToolbarDemo extends JFrame {

  public static final String FontNames[] "Serif""SansSerif""Courier" };

  protected Font fonts[];

  protected JMenuItem[] fontMenus;

  protected JCheckBoxMenuItem boldMenu = new JCheckBoxMenuItem("Bold");

  protected JCheckBoxMenuItem italicMenu = new JCheckBoxMenuItem("Italic");

  protected JToolBar toolBar;

  public ToolbarDemo() {
    super("Toolbars & actions");
    setSize(450350);

    fonts = new Font[FontNames.length];
    for (int i = 0; i < FontNames.length; i++)
      fonts[inew Font(FontNames[i], Font.PLAIN, 12);

    JMenuBar menuBar = createMenuBar();
    setJMenuBar(menuBar);

    WindowListener wndCloser = new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        System.exit(0);
      }
    };
    addWindowListener(wndCloser);

    updateMonitor();
    setVisible(true);
  }

  protected JMenuBar createMenuBar() {
    final JMenuBar menuBar = new JMenuBar();

    JMenu mFile = new JMenu("File");
    mFile.setMnemonic('f');

    ImageIcon iconNew = new ImageIcon("file_new.gif");
    Action actionNew = new AbstractAction("New", iconNew) {
      public void actionPerformed(ActionEvent e) {
        System.out.println("new action");
      }
    };
    JMenuItem item = mFile.add(actionNew);
    mFile.add(item);

    ImageIcon iconOpen = new ImageIcon("file_open.gif");
    Action actionOpen = new AbstractAction("Open...", iconOpen) {
      public void actionPerformed(ActionEvent e) {
        System.out.println("open action");
      }
    };
    item = mFile.add(actionOpen);
    mFile.add(item);

    ImageIcon iconSave = new ImageIcon("file_save.gif");
    Action actionSave = new AbstractAction("Save...", iconSave) {
      public void actionPerformed(ActionEvent e) {
        System.out.println("save action");
      }
    };
    item = mFile.add(actionSave);
    mFile.add(item);

    mFile.addSeparator();

    Action actionExit = new AbstractAction("Exit") {
      public void actionPerformed(ActionEvent e) {
        System.exit(0);
      }
    };
    item = mFile.add(actionExit);
    item.setMnemonic('x');
    menuBar.add(mFile);

    toolBar = new JToolBar();
    JButton btn1 = toolBar.add(actionNew);
    btn1.setToolTipText("New text");
    JButton btn2 = toolBar.add(actionOpen);
    btn2.setToolTipText("Open text file");
    JButton btn3 = toolBar.add(actionSave);
    btn3.setToolTipText("Save text file");

    ActionListener fontListener = new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        updateMonitor();
      }
    };

    JMenu mFont = new JMenu("Font");
    mFont.setMnemonic('o');

    ButtonGroup group = new ButtonGroup();
    fontMenus = new JMenuItem[FontNames.length];
    for (int k = 0; k < FontNames.length; k++) {
      int m = k + 1;
      fontMenus[knew JRadioButtonMenuItem(m + " " + FontNames[k]);
      boolean selected = (k == 0);
      fontMenus[k].setSelected(selected);
      fontMenus[k].setMnemonic('1' + k);
      fontMenus[k].setFont(fonts[k]);
      fontMenus[k].addActionListener(fontListener);
      group.add(fontMenus[k]);
      mFont.add(fontMenus[k]);
    }

    mFont.addSeparator();

    boldMenu.setMnemonic('b');
    Font fn = fonts[1].deriveFont(Font.BOLD);
    boldMenu.setFont(fn);
    boldMenu.setSelected(false);
    boldMenu.addActionListener(fontListener);
    mFont.add(boldMenu);

    italicMenu.setMnemonic('i');
    fn = fonts[1].deriveFont(Font.ITALIC);
    italicMenu.setFont(fn);
    italicMenu.setSelected(false);
    italicMenu.addActionListener(fontListener);
    mFont.add(italicMenu);

    menuBar.add(mFont);

    getContentPane().add(toolBar, BorderLayout.NORTH);

    return menuBar;
  }

  protected void updateMonitor() {
    int index = -1;
    for (int k = 0; k < fontMenus.length; k++) {
      if (fontMenus[k].isSelected()) {
        index = k;
        break;
      }
    }
    if (index == -1)
      return;

    if (index == 2// Courier
    {
      boldMenu.setSelected(false);
      boldMenu.setEnabled(false);
      italicMenu.setSelected(false);
      italicMenu.setEnabled(false);
    else {
      boldMenu.setEnabled(true);
      italicMenu.setEnabled(true);
    }

    int style = Font.PLAIN;
    if (boldMenu.isSelected())
      style |= Font.BOLD;
    if (italicMenu.isSelected())
      style |= Font.ITALIC;
    Font fn = fonts[index].deriveFont(style);
  }

  public static void main(String argv[]) {
    new ToolbarDemo();
  }
}
           
         
  
Related examples in the same category
1. 创建两个工具栏
2. 显示一个垂直的工具栏。
3. A simple frame containing a toolbar made up of several ButtonsA simple frame containing a toolbar made up of several Buttons
4. 例子JToolBar例子JToolBar
5. 工具栏样本
6. JToolBar演示JToolBar演示
7. 演示工具栏演示工具栏
8. 工具栏演示2工具栏演示2
9. 简单的工具栏简单的工具栏
10. 工具栏工具栏
11. 测试工具栏测试工具栏
12. 获取工具栏属性获取工具栏属性
13. If the toolbar is to be floatable, it must be added to a container with a BorderLayout.
14. Highlighting Buttons in a JToolbar Container While Under the Cursor
15. JToolbar: Toolbars provide a quick access to the most frequently used commands.JToolbar: Toolbars provide a quick access to the most frequently used commands.
16. 防止JToolbar浮动
17. Determining When a Floatable JToolBar Container Changes Orientation
18. 建立一个垂直的工具栏
19. 添加各种按钮到工具栏
20. 工具栏用户界面范例工具栏用户界面范例
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.