<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Java究竟怎么玩?

      天地程序已定棋,人間大數待變局

        博客園  :: 首頁  :: 新隨筆  :: 聯系 :: 訂閱 訂閱  :: 管理
      昨天晚上看到有人詢問,回答一下。

      因為JFrame繼承自Frame,是父子關系,所以Frame不能強轉為JFrame使用。但是,卻有取巧的方法令SWT操作Swing~

      //JFrame實例
      JFrame frame = new JFrame();
      //獲得容器
      Container container = frame.getContentPane();
      //畫布
      Canvas canvas = new Canvas();
      //容器加載畫布
      container.add(canvas,BorderLayout.CENTER);
      //顯示
      frame.setVisible(true);
      //獲得Display
      Display display = new Display();
      //轉換canvas不就得了~~~為什么能轉換?看看Frame繼承自誰就知道了……
      Shell shell = SWT_AWT.new_Shell(display,canvas);
      //布局
      shell.setLayout(new FillLayout());
      //SWT按鈕加載
      Button button = new Button(shell,SWT.PUSH);
      button.setText("SWT使用JFrame");
      shell.pack();
      while (!shell.isDisposed()) {
      if (!display.readAndDispatch()){
      display.sleep ();
      }
      }


      另外,再說一種利用new_Frame的方式,先寫一個ChartDirector例子,應用了兩個類。

      DemoModule 
      .java

      package org.test.chartdir;

      /**
       * <p>
       * Title: LoonFramework
       * </p>
       * <p>
       * Description:
       * </p>
       * <p>
       * Copyright: Copyright (c) 2007
       * </p>
       * <p>
       * Company: LoonFramework
       * </p>
       * 
       * 
      @author chenpeng
       * @email:ceponline@yahoo.com.cn
       * 
      @version 0.1
       
      */

      public interface DemoModule {

          
      public String toString();

          
      public int getNoOfCharts();

          
      public void createChart(ChartDirector.ChartViewer viewer, int index);

      }


      CakyDemo.java

      package org.test.chartdir;

      import ChartDirector.ChartViewer;
      import ChartDirector.PieChart;

      /**
       * <p>Title: LoonFramework</p>
       * <p>Description:</p>
       * <p>Copyright: Copyright (c) 2007</p>
       * <p>Company: LoonFramework</p>
       * 
      @author chenpeng  
       * @email:ceponline@yahoo.com.cn 
       * 
      @version 0.1
       
      */

      public class CakyDemo implements DemoModule{
          
              
      public String toString() return "ChartDirector餅圖"; }

              
      public int getNoOfCharts() return 2; }

              
      public void createChart(ChartViewer viewer, int index)
              
      {
                  
      int angle = 0;
                  
      boolean clockwise = true;
                  
      if (index != 0{
                      angle 
      = 90;
                      clockwise 
      = false;
                  }


                  
      double[] data = {2518151283035};

                  String[] labels 
      = {"Labor""Licenses""Taxes""Legal""Insurance",
                      
      "Facilities""Production"}
      ;

                  PieChart c 
      = new PieChart(280240);

                
                  c.setPieSize(
      14013080);

                  
      if (clockwise) {
                      c.addTitle(
      "Start " + angle);
                  }
       else {
                      c.addTitle(
      "Start " + angle);
                  }


                  c.setStartAngle(angle, clockwise);

                  c.set3D();

                  c.setData(data, labels);

                  c.setExplode(
      0);

                  viewer.setImage(c.makeImage());

                  viewer.setImageMap(c.getHTMLImageMap(
      "clickable""",
                      
      "title='{label}: US${value}K ({percent}%)'"));
              }

          
      }



      我構建一個ShellSwingToSWT.java用作演示:

      package org.test.chartdir;

      import java.awt.BorderLayout;

      import java.awt.Canvas;

      import java.awt.Container;
      import java.awt.FlowLayout;
      import java.awt.Frame;
      import java.awt.GridLayout;
      import java.awt.event.WindowAdapter;
      import java.awt.event.WindowEvent;

      import javax.swing.JFrame;

      import org.eclipse.swt.SWT;
      import org.eclipse.swt.awt.SWT_AWT;
      import org.eclipse.swt.graphics.Point;
      import org.eclipse.swt.layout.FillLayout;

      import org.eclipse.swt.widgets.Composite;
      import org.eclipse.swt.widgets.Display;
      import org.eclipse.swt.widgets.Shell;

      import ChartDirector.ChartViewer;

      /**
       * <p>
       * Title: LoonFramework
       * </p>
       * <p>
       * Description:
       * </p>
       * <p>
       * Copyright: Copyright (c) 2007
       * </p>
       * <p>
       * Company: LoonFramework
       * </p>
       * 
       * 
      @author chenpeng
       * @email:ceponline@yahoo.com.cn
       * 
      @version 0.1
       
      */

      public class ShellSwingToSWT {

          
      public static void main(String[] args) {

              
      int width = 600;

              
      int height = 400;
              
      // ChartDirector測試
              DemoModule demo = new CakyDemo();

              JFrame frame 
      = new JFrame(demo.toString());

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

              }
      );
              frame.getContentPane().setLayout(
      new FlowLayout(FlowLayout.LEFT));
              frame.setSize(width, height);

              
      for (int i = 0; i < demo.getNoOfCharts(); ++i) {
                  ChartViewer viewer 
      = new ChartViewer();
                  demo.createChart(viewer, i);
                  frame.getContentPane().add(viewer);
              }


              
      // 獲得容器
              Container container = frame.getContentPane();

              Display display 
      = new Display();

              Shell shell 
      = new Shell(display, SWT.CLOSE);
              shell.setSize(
      new Point(width, height));
              shell.setLayout(
      new FillLayout());
              shell.setText(
      "ChartDirector in SWT");
              
      // 新建swt組件
              Composite composite = new Composite(shell, SWT.NO_BACKGROUND
                      
      | SWT.EMBEDDED);
              
      // 注入組件,并返回為frame
              Frame frm = SWT_AWT.new_Frame(composite);
              
      // 加載容器
              frm.add(container);
              
      // 打開shell
              shell.open();
              
      while (!shell.isDisposed()) {
                  
      if (!display.readAndDispatch()) {
                      display.sleep();
                  }


              }

          }


      }


      其實也沒什么可說的,只不過利用轉換后的Frame載入JFrame的
      container罷了。

      這兩種方式都可以實現Swing在SWT中的顯示



      只不過第一種利用Swing窗體的hWnd實例,一種在新建窗體中顯示Frame罷了。

      關于AWT/Swing在SWT中顯示的原理其實很簡單,為此昨天還寫了個在AWT/Swing實現SWT功能的例子,一會有時間整理下發上來。

      posted on 2007-12-20 12:50  cping  閱讀(417)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产不卡一区二区在线| 久久精品国产亚洲AV麻| 精品国产一区二区三区国产馆| 国产情侣激情在线对白| 国产一区二区亚洲一区二区三区| 一区二区三区午夜无码视频| 亚洲色在线V中文字幕| 丰宁| 亚洲乱码精品久久久久..| 青青在线视频一区二区三区| 久久AV中文综合一区二区| 1精品啪国产在线观看免费牛牛| 亚洲特黄色片一区二区三区| 国产主播精品福利午夜二区| 国产精品中出一区二区三区| 免费无码中文字幕A级毛片| 韩国无码AV片午夜福利| 国产精品一二三区久久狼| 国产亚洲精品久久77777| 亚洲经典av一区二区| 亚洲国产激情一区二区三区| 亚洲人妻系列中文字幕| 隆昌县| 国产爆乳无码视频在线观看3| 国产熟女50岁一区二区| 国产成人综合欧美精品久久| 少妇高潮喷水久久久影院| 国产精品青草久久久久福利99 | 午夜射精日本三级| 成人看的污污超级黄网站免费 | 美女扒开尿口让男人桶| 精品91在线| 国产一区二区黄色激情片| 久久综合香蕉国产蜜臀av| 国内极度色诱视频网站| 九九视频热最新在线视频| 少妇粗大进出白浆嘿嘿视频| 激情在线一区二区三区视频| 久久人人爽人人爽人人av| 高阳县| 亚洲国产午夜精品福利|