⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jappletexam.java

📁 Java程序设计实用教程源代码 本书源代码按章分别放置在不同的文件夹中,所有程序均在JDK1.6环境下编译运行正常,除了第13章需要建立ODBC数据源之外,其他程序只要有Java运行环境即可直接运行
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class jappletExam extends JApplet {
  private Color colArr[] = {Color.black, Color.blue, Color.red, Color.green};
  private JRadioButtonMenuItem colorItems[], fonts[];
  private JCheckBoxMenuItem styleItems[];
  private JLabel label1;
  private ButtonGroup fontGroup, colorGroup;
  private int style;  
  JPopupMenu popup = new JPopupMenu();//构建弹出菜单
  public void init() {
    JMenu fileMenu = new JMenu("文件");
    fileMenu.setMnemonic('F');
    JMenuItem aboutItem = new JMenuItem("About...");
    aboutItem.setMnemonic('A');
    aboutItem.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent event) {
        JOptionPane.showMessageDialog(new Frame(),"关于JApplet中使用\n" 
                + "菜单和快捷菜单的例子","About", JOptionPane.PLAIN_MESSAGE);
      }
    }); // end call to addActionListener
    fileMenu.add(aboutItem);
    JMenuBar bar = new JMenuBar();
    setJMenuBar(bar);
    bar.add(fileMenu);
    String colors[] = {"黑色", "蓝色", "红色", "绿色"}; //显示的菜单项名称
    JMenu colorMenu = new JMenu("颜色");
    colorMenu.setMnemonic('C');
    colorItems = new JRadioButtonMenuItem[colors.length];
    colorGroup = new ButtonGroup();
    ItemHandler itemHandler = new ItemHandler();
    for (int count = 0; count < colors.length; count++) {
      colorItems[count] = new JRadioButtonMenuItem(colors[count]);
      colorMenu.add(colorItems[count]);
      colorGroup.add(colorItems[count]);
      colorItems[count].addActionListener(itemHandler);
    }
    colorItems[0].setSelected(true);
    String fontNames[] = {"Serif", "Monospaced", "SansSerif"};
    JMenu fontMenu = new JMenu("字体");
    fontMenu.setMnemonic('n');
    fonts = new JRadioButtonMenuItem[fontNames.length];
    fontGroup = new ButtonGroup();
    for (int count = 0; count < fonts.length; count++) {
      fonts[count] = new JRadioButtonMenuItem(fontNames[count]);
      fontMenu.add(fonts[count]);
      fontGroup.add(fonts[count]);
      fonts[count].addActionListener(itemHandler);
    }
    fonts[0].setSelected(true);
    fontMenu.addSeparator();
    String styleNames[] = {"粗体", "斜体"};
    styleItems = new JCheckBoxMenuItem[styleNames.length];
    StyleHandler styleHandler = new StyleHandler();
    for (int count = 0; count < styleNames.length; count++) {
      styleItems[count] = new JCheckBoxMenuItem(styleNames[count]);
      fontMenu.add(styleItems[count]);
      styleItems[count].addItemListener(styleHandler);
    }
    popup.add(colorMenu);
    popup.add(fontMenu);
    addMouseListener(new MousePopupListener());
    label1= new JLabel("注意字体和颜色变化", SwingConstants.CENTER);
    label1.setForeground(colArr[0]);
    label1.setFont(new Font("TimesRoman", Font.PLAIN, 40));
    getContentPane().add(label1, BorderLayout.CENTER);
    setSize(500, 200);
    setVisible(true);
  } // end constructor
  //使用内部类来监听鼠标事件
  class MousePopupListener extends MouseAdapter {
    public void mousePressed(MouseEvent e) {
      checkPopup(e);
    }
    public void mouseClicked(MouseEvent e) {
      checkPopup(e);
    }
    public void mouseReleased(MouseEvent e) {
      checkPopup(e);
    }
    private void checkPopup(MouseEvent e) {
      if (e.isPopupTrigger()) { //右键显示快捷菜单
        popup.show(jappletExam.this, e.getX(), e.getY());
      }
    }
  }
  private class ItemHandler implements ActionListener {
    public void actionPerformed(ActionEvent event) {
      for (int i= 0; i< colorItems.length; i++)
        if (colorItems[i].isSelected()) {
          label1.setForeground(colArr[i]);
          break;
        }
      for (int i= 0; i< fonts.length; i++)
        if (event.getSource() == fonts[i]) {
          label1.setFont(new Font(fonts[i].getText(), style, 40));
          break;
        }
      repaint();
    }
  }
  private class StyleHandler implements ItemListener {
    public void itemStateChanged(ItemEvent e) {
      style = 0;
      if (styleItems[0].isSelected())
        style += Font.BOLD;
      if (styleItems[1].isSelected())
        style += Font.ITALIC;
      label1.setFont(new Font(label1.getFont().getName(), style, 40));
      repaint();
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -