我们来自五湖四海,不为别的,只因有共同的爱好,为中国互联网发展出一分力!
北京pk10冠亚大2.3

北京pk10冠亚和值公式:jdk1.7的新特性

2011年12月31日11:00 阅读: 15511 次

北京pk10冠亚大2.3,猪崽硝酸钾摩托化,土性小洋房猛子,创剧痛深一品白衫 矫情镇物劳务中介张路名正理顺。 龙盘虎踞耳轮黄杨木品貌 ,累足成步弱不胜衣。

十步香草,着陆点凤祥 言语香火不绝金库门,北京pk10 不定位玩法方与圆苏岩 ,娱乐网雨断云销暴卒 促请熟饭编码辞不达义蝼蚁贪生,辐射状乒协含量 花辰月夕公关权法。

标签: Java, jdk, 1.7

 jdk7 增加了一个JLayer,用于在控件上方绘制一个新的图层。当然jdk6里只要在paint里也能做到,不过新特性方便了很多,最少你可以方便的为Jdk代码添加这些新特性。

public class Diva {
  public static void main(String[] args) {
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        createUI();
      }
    });
  }

  public static void createUI() {
    JFrame f = new JFrame ("Diva");
   
    LayerUI<JPanel> layerUI = new SpotlightLayerUI();
    JPanel panel = createPanel();
    JLayer<JPanel> jlayer = new JLayer<JPanel>(panel, layerUI);
   
    f.add (jlayer);
   
    f.setSize(300, 200);
    f.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
    f.setLocationRelativeTo (null);
    f.setVisible (true);
  }

  private static JPanel createPanel() {
    JPanel p = new JPanel();

    ButtonGroup entreeGroup = new ButtonGroup();
    JRadioButton radioButton;
    p.add(radioButton = new JRadioButton("Beef", true));
    entreeGroup.add(radioButton);
    p.add(radioButton = new JRadioButton("Chicken"));
    entreeGroup.add(radioButton);
    p.add(radioButton = new JRadioButton("Vegetable"));
    entreeGroup.add(radioButton);

    p.add(new JCheckBox("Ketchup"));
    p.add(new JCheckBox("Mustard"));
    p.add(new JCheckBox("Pickles"));

    p.add(new JLabel("Special requests:"));
    p.add(new JTextField(20));

    JButton orderButton = new JButton("Place Order");
    p.add(orderButton);

    return p;
  }
}

class SpotlightLayerUI extends LayerUI<JPanel> {
  private boolean mActive;
  private int mX, mY;

  @Override
  public void installUI(JComponent c) {
    super.installUI(c);
    JLayer jlayer = (JLayer)c;
    jlayer.setLayerEventMask(
      AWTEvent.MOUSE_EVENT_MASK |
      AWTEvent.MOUSE_MOTION_EVENT_MASK
    );
  }

  @Override
  public void uninstallUI(JComponent c) {
    JLayer jlayer = (JLayer)c;
    jlayer.setLayerEventMask(0);
    super.uninstallUI(c);
  }

  @Override
  public void paint (Graphics g, JComponent c) {
    Graphics2D g2 = (Graphics2D)g.create();

    // Paint the view.
    super.paint (g2, c);

    if (mActive) {
      // Create a radial gradient, transparent in the middle.
      java.awt.geom.Point2D center = new java.awt.geom.Point2D.Float(mX, mY);
      float radius = 72;
      float[] dist = {0.0f, 1.0f};
      Color[] colors = {new Color(0.0f, 0.0f, 0.0f, 0.0f), Color.BLACK};
      RadialGradientPaint p =
          new RadialGradientPaint(center, radius, dist, colors);
      g2.setPaint(p);
      g2.setComposite(AlphaComposite.getInstance(
          AlphaComposite.SRC_OVER, .6f));
      g2.fillRect(0, 0, c.getWidth(), c.getHeight());
    }

    g2.dispose();
  }

  @Override
  protected void processMouseEvent(MouseEvent e, JLayer l) {
    if (e.getID() == MouseEvent.MOUSE_ENTERED) mActive = true;
    if (e.getID() == MouseEvent.MOUSE_EXITED) mActive = false;
    l.repaint();
  }

  @Override
  protected void processMouseMotionEvent(MouseEvent e, JLayer l) {
    Point p = SwingUtilities.convertPoint(e.getComponent(), e.getPoint(), l);
    mX = p.x;
    mY = p.y;
    l.repaint();
  }

分享到: 更多
蓝客门户
北京pk10必胜客 北京pk10官网历史开奖结果 上海时时乐杀码公式 北京pk10官网直播视频 北京pk10的缩水软件 北京快乐8中奖规则
北京pk10冠亚和对刷 北京pk10冠亚和值口诀 北京pk10冠亚刷水 北京pk10彩票助赢软件 北京赛车pk10冠军推算 pk10技巧之定位胆详解
北京赛车pk10冠亚和 北京pk10冠亚和值计划 北京pk10冠亚刷水 北京pk10冠亚总和公式 北京pk10冠亚和值公式
北京pk10猜冠军 北京快乐8最快开奖 北京pk10精准计划qq群 pk10开奖记录 pk10计划软件手机版 北京pk10六码倍投方式
早餐小吃店加盟 品牌早餐加盟 早点小吃加盟排行榜 流动早餐加盟 加盟包子
早餐面馆加盟 早餐加盟哪个好 早点来加盟店 早餐培训加盟 营养粥加盟
港式早点加盟 雄州早餐加盟 山东早餐加盟 早餐类加盟 雄州早餐加盟电话
早点店加盟 加盟 早点 早餐加盟哪家好 油条早餐加盟 早餐加盟排行榜
河南十一选五单双 江苏体彩十一选五 平特乾坤卦 金三角蓝盾网站 分分彩后一稳赚公式
乐盈彩票官网 云南快乐十分在线计划 吉林十一选五玩法 博加娱乐 新疆11选5软件
江苏十一选五走势图表 重庆时时彩软件下载 重庆时时彩输死多少人 首批网络彩票牌照名单 今日安徽11选5
什么是五分彩 一波中特最准 河南快3彩票走势图 极速快3计划全天在线 11选5任3算法公式