permissiontest.java

来自「sun公司开发的,java2核心技术,卷II:高级性能,包括一系列的高级java」· Java 代码 · 共 76 行

JAVA
76
字号
/**
 * @version 1.00 1999-10-23
 * @author Cay Horstmann
 */

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.security.*;
import java.util.*;
import javax.swing.*;

public class PermissionTest
{  public static void main(String[] args)
   {  System.setSecurityManager(new SecurityManager());
      JFrame f = new PermissionTestFrame();
      f.show();
   }
}

class PermissionTestFrame extends JFrame
{  public PermissionTestFrame()
   {  setTitle("PermissionTest");
      setSize(400, 300);
      addWindowListener(
         new WindowAdapter()
         {  public void windowClosing(WindowEvent e)
            {  System.exit(0);
            }
         });

      textField = new JTextField(20);
      JPanel panel = new JPanel();
      panel.add(textField);
      JButton openButton = new JButton("Insert");
      panel.add(openButton);
      openButton.addActionListener(
         new ActionListener()
         {  public void actionPerformed(ActionEvent event)
            {  insertWords(textField.getText());
            }
         });

      Container contentPane = getContentPane();
      contentPane.add(panel, "North");

      textArea = new WordCheckTextArea();
      contentPane.add(new JScrollPane(textArea), "Center");
   }

   public void insertWords(String words)
   {  try
      {  textArea.append(words + "\n");
      }
      catch (SecurityException e)
      {  JOptionPane.showMessageDialog(this,
            "I am sorry, but I cannot do that.");
      }
   }

   private JTextField textField;
   private WordCheckTextArea textArea;
}

class WordCheckTextArea extends JTextArea
{  public void append(String text)
   {  WordCheckPermission p
         = new WordCheckPermission(text, "insert");
      SecurityManager manager = System.getSecurityManager();
      if (manager != null) manager.checkPermission(p);
      super.append(text);
   }
}

⌨️ 快捷键说明

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