锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲日本视频在线观看,亚洲成a人一区二区三区,久久久久亚洲精品天堂http://m.tkk7.com/keweibo/category/30571.htmlAs long as you are there to lead me ,I won't lose my way zh-cnWed, 02 Apr 2008 12:18:59 GMTWed, 02 Apr 2008 12:18:59 GMT60JFreeReport綆浠嬩簩http://m.tkk7.com/keweibo/articles/190441.htmlKEKEWed, 02 Apr 2008 11:33:00 GMThttp://m.tkk7.com/keweibo/articles/190441.htmlhttp://m.tkk7.com/keweibo/comments/190441.htmlhttp://m.tkk7.com/keweibo/articles/190441.html#Feedback0http://m.tkk7.com/keweibo/comments/commentRss/190441.htmlhttp://m.tkk7.com/keweibo/services/trackbacks/190441.htmlJFreeReport鏄敱JFree緇勭粐寮鍙戠殑涓涓熀浜巎ava鐨勬姤琛ㄧ粍浠躲傚埄鐢↗FreeReport緇勪歡鍙互瀹屾垚澶у鏁版牱寮忕殑鎶ヨ〃錛屽茍涓旇兘澶熷皢鍏惰緭鍑?br />  涓簆df銆亁ls銆乧vs銆乭tml絳変笉鍚屾牸寮忕殑鏂囦歡鍜屾墦鍗幫紝涓虹▼搴忓紑鍙戜漢鍛樿В鍐蟲姤琛ㄩ棶棰樻彁渚涗簡寰堝ぇ鐨勬柟渚褲?br /> JFreeReport緇勪歡鍖呮嫭涓涓牳蹇冨寘浠ュ強鍑犱釜鎵╁睍鍖咃紝鍙互鍒皐ww.jfree.org緗戠珯涓嬭澆銆傜敱浜庢槸寮婧愮殑錛屾墍浠ュ彲浠ョ洿鎺ュ緱鍒板叾婧愪唬鐮併?br />  錛堝悗闈㈠叧浜嶱DF杈撳嚭涓枃鏂歸潰灝遍渶瑕佷慨鏀瑰叾婧愪唬鐮侊級
鐜板湪JFreeReport鍔犲叆鍒頒簡Pentaho錛屾墍浠FreeReport鐨勬渶鏂扮増鏈彧鍒癹freereport-0.8.7-9.jar錛屼箣鍚庡氨浠entaho Report Designer鍛藉悕浜嗐?br />  
浜屻丣FreeReport緇勪歡鐨勭粨鏋?br /> JFreeReport緇勪歡鐨勬牳蹇冨璞″氨鏄疛FreeReport瀵硅薄錛屾垜灝嗗叾瑙嗕袱閮ㄥ垎錛氫竴閮ㄥ垎鏄姤琛ㄦ牸寮忓畾涔夛紝鍙︿竴閮ㄥ垎鏄暟鎹瓨鍌ㄣ?br /> JFreeReport緇勪歡鐨勬暟鎹嬌鐢ㄧ殑鏄痡ava.swing.table.TableModel綾伙紝鎴戜滑瀵瑰畠閮介潪甯哥啛鎮変簡錛岀敤JTable鍋氳〃鏍兼椂閮戒細鐢ㄥ埌錛屾墍浠ュ湪姝や笉鍐嶇瘡榪般?br />  鎴戜富瑕佽璁睯FreeReport鐨勬姤琛ㄦ牸寮忓畾涔変互鍙婅緭鍑烘柟娉曘?br /> JFreeReport灝嗘姤琛ㄥ垎涓轟互涓嬪嚑涓儴鍒嗭細
 鎶ュご錛圧eportHeader錛夈?br />  鎶ュ熬錛圧eportFooter錛夈?br />  欏靛ご錛圥ageHeader錛夈?br />  欏靛熬錛圥ageFooter錛夈?br />  鍒嗙粍澶達紙GroupHeader錛夈?br />  鍒嗙粍灝撅紙GroupFooter錛夊拰鏁版嵁鍩熴?br /> l     琛ㄥご錛圧eportHeader錛夆斺斿唴瀹規樉紺哄湪鏁翠釜鎶ヨ〃鐨勫紑澶達紝鍙互鍖呮嫭鎶ヨ〃鍚嶇О絳夊唴瀹廣?br /> l     琛ㄥ熬錛圧eportFooter錛夆斺斿唴瀹規樉紺哄湪鏁翠釜鎶ヨ〃鐨勬湯灝俱?br /> l     欏甸錛圥ageHeader錛夆斺斿唴瀹規樉紺哄湪姣忎竴欏電殑棣栭儴錛岀涓欏靛垯鏄劇ず鍦≧eportHeader涓嬮潰錛屽彲浠ュ寘鎷姤琛ㄦ棩鏈熴佸~琛ㄤ漢絳夊唴瀹廣?br /> l     欏靛熬錛圥ageFooter錛夆斺斿唴瀹規樉紺哄湪姣忎竴欏電殑鏈熬錛屽彲浠ュ寘鎷〉鍙風瓑淇℃伅銆?br /> l     鍒嗙粍澶達紙GroupHeader錛夆斺斿鏋滃皢鏁版嵁鍒嗙粍錛屽垯GroupHeadar鍐呭浼氭樉紺哄湪姣忎竴緇勫垎緇勭殑澶撮儴銆?br /> l     鍒嗙粍灝撅紙GroupFooter錛夆斺斿鏋滃皢鏁版嵁鍒嗙粍錛屽垯GroupHeadar鍐呭浼氭樉紺哄湪姣忎竴緇勫垎緇勭殑澶撮儴銆?br /> l     鏁版嵁鍩熲斺旀姤琛ㄦ暟鎹紝涓鑸綅浜庢瘡欏電殑涓棿閮ㄥ垎銆?br />  
涓夈佹姤琛ㄦ牸寮忓畾涔?br /> 鐭ラ亾浜咼FreeReport緇勪歡鐨勬姤琛ㄧ粨鏋勶紝涓嬮潰璇ヤ粙緇嶅浣曞畾涔変簡銆傛湁涓ょ鏂規硶錛氫竴縐嶆槸浣跨敤java浠g爜瀹炵幇錛屽彟涓縐嶆槸浣跨敤xml瀹氫箟銆?br /> 1銆佷唬鐮佹柟寮忓疄鐜版姤琛ㄦ牸寮忓畾涔?br /> 浣跨敤浠g爜鏂瑰紡瀹炵幇姝ラ寰堢畝鍗曪紝灝辨槸鍒嗗埆鏋勯犳姤澶達紙ReportHeader錛夈佹姤灝撅紙ReportFooter錛夈侀〉澶達紙PageHeader錛夈侀〉灝撅紙PageFooter錛夈?br />  鍒嗙粍澶達紙GroupHeader錛夊拰鍒嗙粍灝撅紙GroupFooter錛夊璞★紝鐒跺悗浣跨敤set鏂規硶鍔犲叆JFreeReport瀵硅薄灝卞彲浠ヤ簡銆?br /> 涓婇潰榪欏嚑涓璞℃垜浠竴鑸彧浼氱敤鍒板叾addElement(Element element)鏂規硶錛屽嵆灝嗕竴涓厓绱狅紙Element錛夊姞鍏ュ埌鎸囧畾閮ㄥ垎銆傚湪榪欓噷錛屽厓绱犵殑鎰忎箟
灝辨槸鏄劇ず鍦ㄦ姤琛ㄤ腑鐨勫唴瀹癸紝鍖呮嫭鏂囨湰銆佽〃鏍箋佸浘褰€佸浘鐗囩瓑絳夈侲lement鏄竴涓娊璞$被錛屼粬鏈夊嚑涓瓙綾伙紝浣嗘垜浠笉蹇呯洿鎺ヤ嬌鐢ㄨ繖浜涘瓙綾伙紝
鑰屾槸閫氳繃org.jfree.report.elementfactory鍖呬腑鐨勫伐鍘傜被鏉ユ瀯寤恒傦細
l     LabelElementFactory鈥斺旀爣絳懼厓绱犲伐鍘傜被錛屽畾涔夋姤琛ㄤ腑鏄劇ず鐨勫浐瀹氭枃鏈唴瀹廣?br /> l     TextElementFactory鈥斺旀枃鏈厓绱犲伐鍘傜被錛屾牴鎹畾涔夌殑鍩熷悕錛屾樉紺哄叾鍩熷悕涓嬬殑鍐呭銆傛瘮濡傦細tableModel涓殑“緙栧彿”瀛楁涓嬬殑鍐呭銆?br /> l     StaticShapeElementFactory鈥斺斿浘褰㈠厓绱犵被錛屽彲浠ョ粯鍒剁洿綰褲佺煩褰㈢瓑鍥懼艦銆?br /> 鍏朵粬鐨勫厓绱犳垜娌$敤榪囷紝澶у鍙互鏌ョ湅JFreeReport鐨凙PI鏂囨。銆備粬浠殑鐢ㄦ硶璇風湅涓嬮潰鐨勪緥瀛愩?br />   public static final int ROW_HEIGHT = 20;    //鎶ュ憡錛氳楂樺害
        public static final int HEADER_HEIGHT = 40;    //鎶ュ憡錛氭姤澶撮珮搴?br />        JFreeReport report = new JFreeReport();    //鏋勯燡FreeReport瀵硅薄
       report.setName("Report Name");
       PageDefinition pd = report.getPageDefinition();    //鍙栧緱鎶ュ憡欏甸潰瀹氫箟
       float pageWidth = pd.getWidth();    //鍙栧緱鎵撳嵃鏉愯川鐨勯〉瀹?br />  
       //瀹氫箟欏靛ご
       PageHeader header = new PageHeader();
       LabelElementFactory title = new LabelElementFactory();    //鏍囬鍏冪礌
       title.setText("緇熻鎶ヨ〃");    //璁劇疆鏂囨湰鍐呭
       title.setColor(Color.BLACK);    //璁劇疆棰滆壊
       title.setAbsolutePosition(new Point2D.Float(0, HEADER_HEIGHT));    //璁劇疆鏄劇ず浣嶇疆
       title.setMinimumSize(new FloatDimension(pageWidth, 36));    //璁劇疆灝哄
       title.setHorizontalAlignment(ElementAlignment.LEFT);
       title.setVerticalAlignment(ElementAlignment.MIDDLE);
       title.setDynamicHeight(true);    //璁劇疆鏄惁鍔ㄦ佽皟鏁撮珮搴︼紙濡傛灉涓簍rue錛屽綋鏂囨湰鍐呭瓚呭嚭鏄劇ず鑼冨洿鏃墮珮搴﹁嚜鍔ㄥ姞闀匡級
       header.addElement(title.createElement());
       report.setPageHeader(header);
 
       String[] columnNames = getColumnNames();    //鍙栧緱鎶ヨ〃鏁版嵁鍩熺殑鎵鏈夊垪鍚?br />  
    if (columnNames != null && columnNames.length > 0) ...{
          report.getItemBand().addElement(StaticShapeElementFactory.createHorizontalLine(null, Color.BLACK, new BasicStroke(1), 0));    //緇樺埗琛ㄦ牸鐨勬í綰?br />            //瀹氫箟鎶ヨ〃澶?br />            ReportHeader reportHeader = new ReportHeader();
        for (int i = 0; i < columnNames.length; i++) ...{
              //瀛楁鍚嶅厓绱?br />               LabelElementFactory col = new LabelElementFactory();
              col.setName(columnNames[i]);
              col.setColor(Color.BLACK);
              col.setHorizontalAlignment(ElementAlignment.CENTER);
              col.setVerticalAlignment(ElementAlignment.MIDDLE);
              col.setDynamicHeight(true);
              col.setAbsolutePosition(new Point2D.Float((pageWidth
                     / (columnNames.length))
                     * i, 0));
              col.setMinimumSize(new FloatDimension(pageWidth
                     / (columnNames.length), ROW_HEIGHT));    //璁劇疆鏈灝忓昂瀵?br />               col.setBold(true);    //璁劇疆鏄惁綺椾綋鏄劇ず
              col.setText(columnNames[i]);
              reportHeader.addElement(col.createElement());
              reportHeader.addElement(StaticShapeElementFactory.createVerticalLine(null, Color.BLACK, new BasicStroke(1), col.getAbsolutePosition().getX()));    //鍏冪礌宸︿晶绔栫嚎
              reportHeader.addElement(StaticShapeElementFactory.createHorizontalLine(null, Color.BLACK, new BasicStroke(1), 0));    //鍏冪礌涓婃柟妯嚎
              reportHeader.addElement(StaticShapeElementFactory.createVerticalLine(null, Color.BLACK, new BasicStroke(1), pageWidth));    //鍏冪礌鍙充晶绔栫嚎
              report.setReportHeader(reportHeader);
             
              //瀛楁鍐呭鍏冪礌
              TextFieldElementFactory data = new TextFieldElementFactory();
              data.setName(columnNames[i]);
 
              data.setColor(Color.BLACK);
              data.setAbsolutePosition(new Point2D.Float((pageWidth
                     / (columnNames.length))
                     * i, 0));
              data.setMinimumSize(new FloatDimension(pageWidth
                     / (columnNames.length), ROW_HEIGHT));
              data.setHorizontalAlignment(ElementAlignment.CENTER);
 
              data.setVerticalAlignment(ElementAlignment.MIDDLE);
              data.setDynamicHeight(true);
              data.setWrapText(new Boolean(true));
              data.setNullString("-");    //濡傛灉瀛楁鍐呭涓虹┖錛屾樉紺虹殑鏂囨湰
              data.setFieldname(columnNames[i]);
               report.getItemBand().addElement(StaticShapeElementFactory.createHorizontalLine(null, Color.BLACK, new BasicStroke(1), 0));
              report.getItemBand().addElement(data.createElement());
               report.getItemBand().addElement(StaticShapeElementFactory.createHorizontalLine(null, Color.BLACK, new BasicStroke(1), -100));
               report.getItemBand().addElement(StaticShapeElementFactory.createVerticalLine(null, Color.BLACK, new BasicStroke(1), data.getAbsolutePosition().getX()));
               report.getItemBand().addElement(StaticShapeElementFactory.createHorizontalLine(null, Color.BLACK, new BasicStroke(1), 0));
           }// end for(int i=0;i<columnNames.length;i++)
          
           //鏈鍚庣殑绔栫嚎
           report.getItemBand().addElement(StaticShapeElementFactory.createVerticalLine(null, Color.BLACK, new BasicStroke(1), pageWidth));
          
           PageFooter footer = new PageFooter();
          
           //璁劇疆欏靛彿
           PageOfPagesFunction pageFunction = new PageOfPagesFunction("PAGE_NUMBER");    //鏋勯犱竴涓〉鍙峰嚱鏁板璞?br />            pageFunction.setFormat("{0} / {1}欏?);    //璁劇疆欏靛彿鏄劇ず鏍煎紡錛堟澶勬樉紺虹殑鏍煎紡涓?#8220;1/5欏?#8221;錛?br />            report.addExpression(pageFunction);
          
           TextFieldElementFactory pageCount = new TextFieldElementFactory();
           pageCount.setFieldname("PAGE_NUMBER");
           pageCount.setColor(Color.black);
           pageCount.setAbsolutePosition(new Point2D.Float(0, 0));
           pageCount.setMinimumSize(new FloatDimension(pageWidth, 0));
           pageCount.setHorizontalAlignment(ElementAlignment.RIGHT);
           pageCount.setVerticalAlignment(ElementAlignment.MIDDLE);
           pageCount.setDynamicHeight(true);
           footer.addElement(pageCount.createElement());
           report.setPageFooter(footer);
          
           ReportFooter reportFooter = new ReportFooter();
           reportFooter.addElement(StaticShapeElementFactory.createHorizontalLine(null, Color.BLACK, new BasicStroke(1), 0));
           report.setReportFooter(reportFooter);
 
2銆乆ML鏂瑰紡瀹炵幇鎶ヨ〃鏍煎紡瀹氫箟
瀵逛簬綆鍗曠殑鎶ヨ〃錛屾垜浠彲浠ヤ嬌鐢ㄤ唬鐮佹潵瀹炵幇錛屼絾瀵逛簬澶嶆潅鐨勬姤琛紝浠g爜鍙兘灝辨棤鑳戒負鍔涗簡
 錛堣櫧鐒朵篃鍙互瀹炵幇錛屼絾瀵逛簬璇諱唬鐮佺殑浜烘潵璇村彲鑳藉皢鏄満鐏鵑毦錛夛紝閭d箞鎴戜滑灝卞彲浠ラ氳繃瀹氫箟XML鏉ュ疄鐜版姤琛ㄦ牸寮忕殑瀹氫箟銆?br />  榪欑鏂規硶闈炲父鏂逛究鑰屼笖娓呮櫚銆?br /> JFreeReport瀹氫箟浜嗕袱縐峏ML瀹炵幇鏂規硶銆傝繖閲屾垜鍙粙緇嶄竴縐嶏紝鍥犱負鍙︿竴縐嶆垜娌℃湁鐢ㄨ繃銆傛垜鐩存帴閫氳繃渚嬪瓙鏉ヨВ閲婂浣曞疄鐜幫細
<?xml version="1.0" encoding="GB2312"?>
<report name="My Report" pageformat="A4" leftmargin="40" rightmargin="40">
  <configuration>
    <property name="com.jrefinery.report.preview.PreferredWidth">1024</property>
    <property name="com.jrefinery.report.preview.PreferredHeight">768</property>
  </configuration>
   
  <!-- 鎶ュご  -->
  <reportfooter height="20" fontname="瀹嬩綋" fontsize="12">
  </reportfooter>
   
  <!-- 欏甸  -->
  <pageheader fontname="瀹嬩綋" fontsize="12">
    <!-- 鏂囨湰鍩燂紝鐢ㄤ簬鏄劇ず琛ㄦ暟鎹腑鏌愬垪鐨勫唴瀹?nbsp; -->
    <!-- x,y: 涓哄潗鏍囩偣錛堜互欏甸鍖哄煙鐨勫乏涓婅涓?0, 0)鐐癸級  -->
    <!-- width, height: 涓烘枃鏈煙鐨勫搴﹀拰楂樺害錛屽鏋滀負鏁板煎垯琛ㄧず涓虹粷瀵瑰昂瀵革紝濡傛灉涓虹櫨鍒嗘暟錛屽垯鑷姩浠ョ櫨鍒嗘瘮鏂瑰紡璋冩暣灝哄澶у皬  -->
    <!-- alignment: 鎺掑垪鏂瑰紡 -->
    <!-- fieldname: 鍩熷悕錛屽嵆鏁版嵁鍩熺殑鍒楀悕 -->
    <!-- nullstring: 褰撴暟鎹煙鍐呭涓虹┖鏃舵樉紺虹殑瀛楃涓插唴瀹?-->
    <!-- alignment: 姘村鉤鎺掑垪鏂瑰紡center錛宭eft鎴杛ight -->
    <!-- vertical-alignment: 绔栫洿鎺掑垪鏂瑰紡top銆乵iddle鎴朾ottom -->
    <!-- dynamic: 鏄惁鍔ㄦ佽皟鏁村崟鍏冩牸楂樺害錛屽鏋滀負true錛屽綋鏂囨湰鍐呭涓嶈凍浠ュ湪褰撳墠灝哄涓樉紺烘椂灝嗚嚜鍔ㄥ鍔犲崟鍏冩牸楂樺害 -->
    <string-field x="0" y="0" width="100%" height="30" alignment="center" fontname="榛戜綋" fontsize="15" fieldname="report.title" nullstring=""></string-field>
   
    <!-- 鏍囩鍩燂紝鐢ㄤ簬鍦ㄦ姤琛ㄤ腑鏄劇ず鍥哄畾鏂囨湰鍐呭  -->
    <label x="0" y="20" width="100%" height="20" alignment="center" fontname="榛戜綋" fontsize="15">鎶ヨ〃</label>
        
    <label x="5%" y="80" width="100%" height="20" alignment="left">緇熻鏃墮棿錛?lt;/label>
    <string-field x="90" y="80" width="30%" height="18" alignment="left" fieldname="report.time" nullstring=""/>
    
    <label x="70%" y="80" width="100%" height="20">緇熻鏃ユ湡錛?lt;/label>
   
    <!-- 鏃墮棿鍩燂紝鐢ㄤ簬鏄劇ず鏃墮棿  -->
    <!-- report.date: 涓嬮潰<function>涓畾涔夌殑鍑芥暟錛屾樉紺哄綋鍓嶆椂闂?-->
    <!-- format: 鏃ユ湡鏍煎紡 -->
    <date-field fieldname="report.date" format="yyyy/M/d" x="0%" y="80" width="95%" height="20" alignment="right"></date-field>
  </pageheader>
   
  <!-- 欏靛熬  -->
  <pagefooter height="20" fontname="瀹嬩綋" fontsize="12">
    <string-field fieldname="pageXofY" x="0" y="4" width="100%" height="18" alignment="right"/>
  </pagefooter>
   
  <!-- 鍒嗙粍  -->
  <groups>
    <group name="group1">
      <!-- 鍒嗙粍澶?-->
      <groupheader fontname="瀹嬩綋" fontsize="10.5">
        <label x="0%" y="5" width="20%" height="40" alignment="center" vertical-alignment="middle"> 緇?nbsp; 璁?</label>
        <rectangle x="0%" y="0" width="20%" height="50" color="#000000" draw="true" fill="false"/>
               
        <label x="20%" y="5" width="40%" height="20" alignment="center" vertical-alignment="middle">涓?騫?搴?lt;/label>
       
        <!-- 鍥懼艦錛氱煩褰?-->
        <!-- color: 棰滆壊 -->
        <!-- fill: 鏄惁濉厖 -->
        <rectangle x="20%" y="0" width="40%" height="25" color="#000000" draw="true" fill="false"/>       
        <label x="20%" y="30" width="20%" height="20" alignment="center" vertical-alignment="middle">浜?鏁?lt;/label>
        <rectangle x="20%" y="25" width="20%" height="25" color="#000000" draw="true" fill="false"/>
        <label x="40%" y="30" width="20%" height="20" alignment="center" vertical-alignment="middle">鍗犳瘮(%)</label>
        <rectangle x="40%" y="25" width="20%" height="25" color="#000000" draw="true" fill="false"/>
        <label x="60%" y="5" width="40%" height="20" alignment="center" vertical-alignment="middle">鏈?騫?搴?lt;/label>
        <rectangle x="60%" y="0" width="40%" height="25" color="#000000" draw="true" fill="false"/>
        <label x="60%" y="30" width="20%" height="20" alignment="center" vertical-alignment="middle">浜?鏁?lt;/label>
        <rectangle x="60%" y="25" width="20%" height="25" color="#000000" draw="true" fill="false"/>
        <label x="80%" y="30" width="20%" height="20" alignment="center" vertical-alignment="middle">鍗犳瘮(%)</label>
        <rectangle x="80%" y="25" width="20%" height="25" color="#000000" draw="true" fill="false"/>
      </groupheader>
      <!-- 鍙互榪樻湁鍒嗙粍灝?lt;groupfooter> -->
    </group>
  </groups>
   
  <!-- 鏁版嵁鍩?nbsp; -->
  <items fontname="瀹嬩綋" fontsize="12"> 
   
    <!-- 鍥懼艦錛氱洿綰?-->
    <line x1="0" y1="0" x2="0" y2="100%"/>
       
    <string-field fieldname="騫村害浣撴緇撹" x="0%" y="5" width="20%" height="20" alignment="center" vertical-alignment="middle" nullstring="" dynamic="true"/>
    <line x1="20%" y1="0" x2="20%" y2="100%"/><!-- 緇撹 -->
    <string-field fieldname="涓婂勾搴? x="20%" y="5" width="20%" height="20" alignment="center" vertical-alignment="middle" nullstring="" dynamic="true"/>
    <line x1="40%" y1="0" x2="40%" y2="100%"/><!-- 涓婂勾搴︿漢鏁?-->
    <string-field fieldname="涓婂勾搴?%)" x="40%" y="5" width="20%" height="20" alignment="center" vertical-alignment="middle" nullstring="" dynamic="true"/>
    <line x1="60%" y1="0" x2="60%" y2="100%"/><!-- 涓婂勾搴﹀崰姣?-->
    <string-field fieldname="鏈勾搴? x="60%" y="5" width="20%" height="20" alignment="center" vertical-alignment="middle" nullstring="" dynamic="true"/>
    <line x1="80%" y1="0" x2="80%" y2="100%"/><!-- 鏈勾搴︿漢鏁?-->
    <string-field fieldname="鏈勾搴?%)" x="80%" y="5" width="20%" height="20" alignment="center" vertical-alignment="middle" nullstring="" dynamic="true"/>
    <line x1="100%" y1="0" x2="100%" y2="100%"/><!-- 鏈勾搴﹀崰姣?-->
       
    <line x1="0" y1="100%" x2="100%" y2="100%"/>       
  </items>
   
  <!-- 鍑芥暟瀹氫箟  -->
  <functions>
     <!-- 鏄劇ず褰撳墠鏃墮棿鐨勫嚱鏁扮敤娉?nbsp; -->
    <property-ref name="report.date"/>

    <!-- 鏄劇ず褰撳墠欏電爜鐨勫嚱鏁扮敤娉?-->
    <function name="PageNumber" class="org.jfree.report.function.PageFunction" deplevel="1"/>

    <!-- 鏄劇ず鎬婚〉鏁扮殑鍑芥暟鐢ㄦ硶 -->
    <function name="PageTotal" class="org.jfree.report.function.PageTotalFunction" deplevel="1"/>
   
    <!-- 琛ㄨ揪寮忥紝嬈¤〃杈懼紡瀹氫箟涓涓樉紺洪〉鐮佹牸寮忕殑鐢ㄦ硶 -->
    <expression name="pageXofY" class="org.jfree.report.function.TextFormatExpression">
      <properties>
        <property name="pattern">{0}/{1}欏?lt;/property>
        <property name="field[0]">PageNumber</property>
        <property name="field[1]">PageTotal</property>
      </properties>
    </expression>
  </functions>
</report>
 鍙︿竴縐嶆柟娉曟垜娌℃湁鐢ㄨ繃錛屼互鍚庝簡瑙d簡鍐嶈ˉ鍏呫?br /> 鍥涖佽緭鍑?br /> 瀹氫箟瀹孞FreeReport瀵硅薄錛屽氨鍙互榪涜杈撳嚭浜嗐備笅闈粙緇嶅嚑縐嶈緭鍑烘柟娉曘?br /> 1銆侀氳繃棰勮紿楀彛瀵硅薄杈撳嚭
璇ユ柟寮忓彧鑳藉湪Application鐜涓嬌鐢ㄣ傞氳繃棰勮紿楀彛錛岀敤鎴峰彲浠ヨ嚜琛岄夋嫨鎵撳嵃銆佹帓鐗堟垨鐢熸垚鍚勭鏍煎紡鐨勬枃浠訛紝榪欎篃鏄垜浠湪Application涓父鐢ㄧ殑鏂瑰紡銆備唬鐮佺ず渚嬪涓嬶細
PreviewDialog preview = null;    //棰勮紿楀彛瀵硅薄
  try ...{
           // 灝嗙敓鎴愮殑鎶ヨ〃鏀懼埌棰勮紿楀彛涓?br />            preview = new PreviewDialog(report);
       } catch (ReportProcessingException e) ...{
           e.printStackTrace();
       }
 
   if (preview != null) ...{
           preview.pack();
           preview.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
           // 璁劇疆鎶ヨ〃璧峰鐐瑰強闀垮
           preview.setLocation(new Point(0, 0));
           Dimension screen = getToolkit().getScreenSize();
           int width = (int) (screen.getWidth() - 2 * preview.getLocation().x);
           int height = (int) (screen.getHeight());
           preview.setSize(new Dimension(width, height));
 
           // 鏄劇ず鎶ヨ〃棰勮紿楀彛
           preview.setVisible(true);
           preview.requestFocus();
           // preview.addWindowListener(new CloseHandler());
       }

2銆佽緭鍑篐TML鏂囨湰銆?br /> 榪欑鏂規硶鍙互灝嗘姤琛ㄨ緭鍑轟負HTML璇█褰㈡垚鐨勬枃鏈紝榪欑鏂瑰紡閫傜敤浜庡湪嫻忚鍣ㄤ腑鏄劇ず鎶ヨ〃鍐呭銆傜ず渚嬩唬鐮佸涓嬶細
ByteArrayOutputStream bo = null;
      StreamHtmlFilesystem filesystem = null;
       try ...{
           // 鐢熸垚Html
           bo = new ByteArrayOutputStream();
           final HtmlProcessor processor = new HtmlProcessor(report);
           processor.setGenerateBodyFragment(true);
           processor.setEncoding ("UTF-8");
           filesystem = new StreamHtmlFilesystem(bo);
           processor.setFilesystem(filesystem);
           processor.processReport();
           String htmlCode = new String(bo.toByteArray(), "UTF-8");
           bo.close();
           bo = null;
           filesystem.close();
           filesystem = null;
       } catch(FileNotFoundException e) ...{
           e.printStackTrace();
       } catch(SecurityException e) ...{
           e.printStackTrace();
       } catch (ReportProcessingException e) ...{
           e.printStackTrace();
       } catch (IOException e) ...{
           e.printStackTrace();
       }
3銆佽緭鍑篜DF鏂囦歡
PDF鐨勮緭鍑烘柟寮忚窡HTML鐨勫樊涓嶅錛屼絾鏈変竴鐐癸紝JFreeReport鏈韓鏃犳硶杈撳嚭涓枃瀛楃錛屽鏋滄兂瑕佽緭鍑轟腑鏂囷紝鎴戞病鏈夋壘鍒版洿濂界殑鏂規硶錛屾墍浠ユ洿鏀逛簡JFreeReport鍖呬腑org.jfree.report.modules.output.support.itext.BaseFontSupport綾葷殑婧愮爜錛屽皢
final BaseFont f = BaseFont.createFont(BaseFont.HELVETICA, stringEncoding, embedded,
false, null, null)涓殑BaseFont.HELVETICA鏀逛負“STSong-Light”,鍙﹀闇瑕佸埌www.lowagie.com/iText緗戠珯涓嬭澆iText.jar鍖呬互鏀寔STSong-Light瀛椾綋緙栫爜錛岃繖鏍鳳紝灝卞彲浠ヨ緭鍑轟腑鏂囦簡銆傜ず渚嬩唬鐮佸涓嬫墍紺猴細
榪欓噷娉ㄦ剰錛屽繀欏誨皢target鐨勫瓧浣撶紪鐮佽涓?#8220;UniGB-UCS2-H”鑰屼笖浣跨敤Java1.5榪涜緙栬瘧
       PDFOutputTarget target = null;
   try ...{
           //鐢熸垚pdf
           FileOutputStream fos = new FileOutputStream("PDF.pdf");
           target = new PDFOutputTarget(fos);
           target.configure(report.getReportConfiguration());
           target.setFontEncoding("UniGB-UCS2-H");
           target.open();
   
           final PageableReportProcessor proc = new PageableReportProcessor(report);
           proc.setOutputTarget(target);
           proc.processReport();
           target.close();  
           target = null;
       } catch(FileNotFoundException e) ...{
           e.printStackTrace();
       } catch(SecurityException e) ...{
           e.printStackTrace();
       } catch (OutputTargetException e) ...{
           e.printStackTrace();
       } catch (ReportProcessingException e) ...{
           e.printStackTrace();
       }

浠ヤ笂灝辨槸鎴戝JFreeReport緇勪歡鐨勬葷粨錛屽啓鐨勪笉濂藉笇鏈涘澶у鏈夋墍
 


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2056738



KE 2008-04-02 19:33 鍙戣〃璇勮
]]>
JFreeReport綈′粙http://m.tkk7.com/keweibo/articles/190440.htmlKEKEWed, 02 Apr 2008 11:32:00 GMThttp://m.tkk7.com/keweibo/articles/190440.htmlhttp://m.tkk7.com/keweibo/comments/190440.htmlhttp://m.tkk7.com/keweibo/articles/190440.html#Feedback0http://m.tkk7.com/keweibo/comments/commentRss/190440.htmlhttp://m.tkk7.com/keweibo/services/trackbacks/190440.html JFreeReport鏄疛FreeReport.Org鍩轟簬LGPL鎺堟潈鍗忚鎻愪緵鐨勪竴緇凧ava鍖咃紝鐢ㄤ簬鐢熸垚鍚勭被鎶ヨ〃錛孞FreeReport鐨勬暟鎹戶緇嚜Swing緇勪歡鐨凾ableModel
鎺ュ彛錛屼嬌鐢ㄥ熀浜嶺ML鐨勬姤琛ㄦ牸寮忓畾涔夋枃浠跺鎶ヨ〃榪涜鏍煎紡鍖栥侸FreeReport鐢熸垚鐨勬姤琛ㄥ彲浠ュ垎欏甸瑙堛佹墦鍗幫紝鑰屼笖鏀寔瀵煎嚭涓哄縐嶆牸寮忕殑鏂囦歡
濡俻df銆丒xcel銆丆SV銆丠tml絳夈傛洿閲嶈鐨勬槸錛孞FreeReport涓嶄粎鏀寔鍩轟簬C/S緇撴瀯鐨勭郴緇燂紝鑰屼笖鏀寔鍩轟簬B/S緇撴瀯鐨勭郴緇熶腑鐨勫湪綰挎姤琛ㄦ樉紺恒?br /> 鏇村叿浣撶殑鍏充簬JFreeReport鐨勪粙緇嶈澶у璁塊棶JFreeReport鐨勫畼鏂圭綉绔橨Free.org銆?br /> 銆銆
銆銆1銆鐜棰勫
銆銆1.1銆JFreeReport緇勪歡
銆銆
銆銆璇峰ぇ瀹跺埌http://prdownloads.sourceforge.net/jfreereport/jfreereport-0.8.4_7.zip?download涓嬭澆JFreeReport緇勪歡錛?br />  涓嬭澆鐨勬槸涓涓猌IP鏂囦歡錛岀劧鍚庡皢ZIP鏂囦歡瑙e帇緙╁埌c:\jfreereport錛堝悗闈㈢殑绔犺妭涓皢浣跨敤錛卝freereport_home錛呰〃紺鴻繖涓洰褰曪級鐩綍涓嬨?br /> 銆銆
銆銆1.2銆JFreeReport鎵╁睍緇勪歡
銆銆
銆銆璇峰ぇ瀹跺埌http://www.jfree.org/jfreereport/jfreereport-ext-0.8.4_7.zip涓嬭澆JFreeReport鎵╁睍緇勪歡錛屼粬鐢ㄤ簬鏀寔JFreeReport緇勪歡鐢?br />  鎴愮殑鎶ヨ〃鐨勫湪綰挎樉紺恒傝澶ц澆鍚庤В鍘嬬緝鍒癱:\jfreereport-ext鐩綍涓嬶紙鍚庨潰鐨勭珷鑺備腑灝嗕嬌鐢紖jfreereport_ext_home錛呰〃紺鴻繖涓洰褰曪級
銆銆
銆銆1.3銆Ant宸ュ叿
銆銆
銆銆Apache鍏徃鎻愪緵鐨勪竴涓熀浜嶫AVA鐨勮嚜鍔ㄥ寲鑴氭湰寮曟搸錛岃澶у鍒癶ttp://ant.apache.org/涓嬭澆ant鐨勫彲鎵ц鏂囦歡錛屽叧浜庡浣曚嬌鐢╝nt璇峰ぇ瀹舵煡
 鐪媋nt鐨勫府鍔╂枃妗f垨鑰卙ttp://ant.apache.org/緗戠珯涓婄殑鍦ㄧ嚎甯姪鏂囨。銆傜ず渚嬩腑涓昏鏄敤ant鏉ヨ礋璐g紪璇慾ava浠g爜銆?br /> 銆銆
銆銆1.4銆浣滆呮彁渚涚殑浠g爜
銆銆
銆銆涓轟簡榪愯鏈枃涓綔鑰呮彁鍒扮殑渚嬪瓙鍜岀浉鍏寵祫婧愭枃浠訛紝璇峰ぇ瀹朵笅杞戒綔鑰呮彁渚涚殑vivianjDemo.zip鏂囦歡鍜屼腑鏂囪漿鎹㈠伐鍏穏b2unicode.jar銆?br />  鐒跺悗瑙e帇緙╁埌錛卝freereport_home錛匼vivianjDemo錛堝悗闈㈢殑绔犺妭涓皢浣跨敤錛卍emo _home錛呰〃紺鴻繖涓洰褰曪級鐩綍涓嬨?br /> 銆銆
銆銆2銆JFreeReport鐢熸垚鎶ヨ〃鐨勫熀鏈楠?br /> 銆銆鎴戜滑棣栧厛婕旂ず涓涓畝鍗曠殑渚嬪瓙錛岃鏄庝嬌鐢↗FreeReport鐢熸垚鎶ヨ〃鐨勪竴浜涘繀瑕佺殑姝ラ銆?br /> 銆銆
銆銆2.1銆瀹炰緥璇存槑
銆銆
銆銆鍦ㄨ繖涓緥瀛愪腑錛屾垜浠皢寰幆鐢熸垚100鏉℃暟鎹斁鍏ableModel涓紝鐒跺悗浣跨敤JFreeReport緇勪歡鎻愪緵鐨勯瑙堝姛鑳藉湪灞忓箷涓婃樉紺虹敓鎴愮殑鎶ヨ〃銆?br /> 銆銆
銆銆錛繪敞錛?涓轟簡綆鍖栵紝榪欓噷浠呬粎鏄愭潯鏄劇ず鏁版嵁錛屼笉浣滀換浣曚慨楗板拰緇熻宸ヤ綔錛屾墍浠ヤ篃涓嶄嬌鐢ㄦ姤琛ㄦ牸寮忓畾涔夋枃浠躲?br /> 銆銆
銆銆2.2銆浠g爜緙栧埗
銆銆
銆銆鏁翠釜婕旂ず瀹炰緥錛圚elloWorld.java錛夌殑浠g爜鍜岀浉鍏蟲敞閲婂涓嬶紝鍋囧浣犳墽琛屼簡1.3涓瀹氱殑姝ラ錛?br />  浣犲彲浠ュ湪錛卍emo _home錛?src/org/vivianj/jfreereport/鐪嬪埌榪欎釜鏂囦歡銆?br /> 銆銆
銆銆/**
銆銆* HelloWorld.java
銆銆*/
銆銆
銆銆package org.vivianj.jfreereport;
銆銆
銆銆import java.awt.Color;
銆銆import java.awt.event.WindowAdapter;
銆銆import java.awt.event.WindowEvent;
銆銆import java.awt.geom.Point2D;
銆銆import javax.swing.table.DefaultTableModel;
銆銆import javax.swing.table.TableModel;
銆銆
銆銆import org.jfree.report.Boot;
銆銆import org.jfree.report.ElementAlignment;
銆銆import org.jfree.report.JFreeReport;
銆銆import org.jfree.report.ReportProcessingException;
銆銆import org.jfree.report.elementfactory.TextFieldElementFactory;
銆銆import org.jfree.report.modules.gui.base.PreviewDialog;
銆銆import org.jfree.ui.FloatDimension;
銆銆
銆銆/**
銆銆* 浣跨敤JFreeReport鐢熸垚鎶ヨ〃鐨勭畝鍗曚緥瀛愶紝鐢ㄤ簬婕旂ず浣跨敤JFreeReport鐢熸垚鎶ヨ〃鐨勪竴浜涘熀鏈楠?br /> 銆銆*
銆銆* 鏈緥瀛愪腑錛屼負浜嗙畝鍖栨搷浣滐紝鎶ヨ〃瀹氫箟鏄嬌鐢╦ava鐩存帴緙栫爜
銆銆*
銆銆* @ 浣滆?錛?bookman
銆銆*/
銆銆public class HelloWorld
銆銆{
銆銆/**
銆銆* 澶勭悊紿楀彛鍏抽棴浜嬩歡
銆銆*/
銆銆protected static class CloseHandler extends WindowAdapter
銆銆{
銆銆public void windowClosing(final WindowEvent event)
銆銆{
銆銆System.exit(0);
銆銆}
銆銆}
銆銆
銆銆/**
銆銆* 鍒涘緩鍜屾樉紺虹畝鍗曠殑鎶ヨ〃
銆銆*/
銆銆public HelloWorld()
銆銆{
銆銆// 鑾峰緱鍒涘緩鎶ヨ〃闇瑕佺敤鍒扮殑鏁版嵁
銆銆final TableModel data = createData();
銆銆//鑾峰緱鎶ヨ〃瑕佺敤鍒扮殑鎶ヨ〃瀹氫箟鍐呭
銆銆final JFreeReport report = createReportDefinition();
銆銆//灝嗘姤琛ㄥ畾涔夊拰鏁版嵁緇撳悎
銆銆report.setData(data);
銆銆try
銆銆{
銆銆//灝嗙敓鎴愮殑鎶ヨ〃鏀懼埌棰勮紿楀彛涓?br /> 銆銆final PreviewDialog preview = new PreviewDialog(report);
銆銆preview.addWindowListener(new CloseHandler());
銆銆preview.pack();
銆銆//鏄劇ず鎶ヨ〃棰勮紿楀彛
銆銆preview.setVisible(true);
銆銆}
銆銆catch (ReportProcessingException e)
銆銆{
銆銆System.out.println(e);
銆銆}
銆銆
銆銆}
銆銆
銆銆/**
銆銆* 鍒涘緩鐢熸垚鎶ヨ〃闇瑕佺敤鍒扮殑鏁版嵁
銆銆*
銆銆* @榪斿洖涓涓猅ableModel瀹炰緥
銆銆*/
銆銆private TableModel createData()
銆銆{
銆銆
銆銆final Object[] columnNames = new String[]{"Column1", "Column2"};
銆銆final DefaultTableModel result = new DefaultTableModel(columnNames, 100);
銆銆int rownum = 0;
銆銆int colnum = 0;
銆銆for (;rownum < 100 ; rownum++)
銆銆{
銆銆result.setValueAt("say Hello " + rownum + "嬈?, rownum, 0);
銆銆result.setValueAt("say World " + rownum + "嬈? , rownum, 1);
銆銆}
銆銆
銆銆return result;
銆銆
銆銆}
銆銆
銆銆/**
銆銆* 鍒涘緩涓涓姤琛ㄥ畾涔?br /> 銆銆*
銆銆* @榪斿洖涓涓姤琛ㄥ畾涔夊疄渚?br /> 銆銆*/
銆銆private JFreeReport createReportDefinition()
銆銆{
銆銆
銆銆final JFreeReport report = new JFreeReport();
銆銆report.setName("A Very Simple Report");
銆銆/**
銆銆* 瀹氫箟瑕佹樉紺烘姤琛ㄧ涓鍒楃殑鏍峰紡
銆銆*/
銆銆TextFieldElementFactory factory = new TextFieldElementFactory();
銆銆factory.setName("T1");
銆銆factory.setAbsolutePosition(new Point2D.Float(0, 0));
銆銆factory.setMinimumSize(new FloatDimension(150, 20));
銆銆factory.setColor(Color.black);
銆銆factory.setHorizontalAlignment(ElementAlignment.LEFT);
銆銆factory.setVerticalAlignment(ElementAlignment.MIDDLE);
銆銆factory.setNullString("-");
銆銆factory.setFieldname("Column1");
銆銆report.getItemBand().addElement(factory.createElement());
銆銆/**
銆銆* 瀹氫箟瑕佹樉紺烘姤琛ㄧ浜屽垪鐨勬牱寮?br /> 銆銆*/
銆銆factory = new TextFieldElementFactory();
銆銆factory.setName("T2");
銆銆factory.setAbsolutePosition(new Point2D.Float(200, 0));
銆銆factory.setMinimumSize(new FloatDimension(150, 20));
銆銆factory.setColor(Color.black);
銆銆factory.setHorizontalAlignment(ElementAlignment.LEFT);
銆銆factory.setVerticalAlignment(ElementAlignment.MIDDLE);
銆銆factory.setNullString("-");
銆銆factory.setFieldname("Column2");
銆銆report.getItemBand().addElement(factory.createElement());
銆銆/**
銆銆* 榪斿洖涓涓姤琛ㄥ畾涔夌殑瀹炰緥
銆銆*/
銆銆return report;
銆銆
銆銆}
銆銆
銆銆public static void main(final String[] args)
銆銆{
銆銆// 鍒濆鍖朖FreeReport
銆銆Boot.start();
銆銆
銆銆//璋冪敤婕旂ず瀹炰緥
銆銆new HelloWorld();
銆銆}
銆銆
銆銆}
銆銆
銆銆2.3銆榪愯渚嬪瓙
銆銆
銆銆鍋囧浣犳墽琛屼簡1.3涓瀹氱殑姝ラ錛屼綘鍙互榪涘叆鍛戒護琛岀晫闈紝鐒跺悗榪涘叆錛卍emo_home錛呯洰褰曚笅錛屼慨鏀箂etenv.cmd涓殑鐩稿叧璁劇疆錛?br />  鎵цserenv.cmd璁劇疆鐜鍙橀噺銆傛墽琛宩ava org.vivianj.jfreereport.HelloWorld鏌ョ湅榪愯緇撴灉銆備笅闈㈣繖涓浘鐗囨槸
 浣滆呮墽琛屽悗緇撴灉鐨勫睆騫曟埅鍥撅細
銆銆
銆銆澶у鍙互鐪嬪埌錛孞FreeReport宸茬粡鑷姩甯垜浠疄鐜頒簡鍒嗛〉銆備笂闈㈣繖涓浘鐗囨樉紺虹殑鏄涓欏電殑鏁版嵁錛屼綘鍙互閫氳繃宸ュ叿鏍忎腑鐨勬煡
 鐪嬪叾瀹冮〉闈腑鐨勫唴瀹廣?br /> 銆銆
銆銆2.4銆鍩烘湰姝ラ瑙i噴
銆銆
銆銆浣跨敤JFreeReport鐢熸垚鎶ヨ〃閫氬父闇瑕佷互涓嬩笁涓熀鏈楠わ細
銆銆
銆銆鐢熸垚鍙氳繃TableModel鎺ュ彛璁塊棶鐨勬暟鎹紝濡傛湰渚嬩腑鐨刢reateData鏂規硶瀹屾垚鐨勫姛鑳?br /> 銆銆鐢熸垚涓涓狫FreeReport瀹炰緥錛屼粬瀹氫箟浜嗘垜浠浣曟牸寮忓寲鏄劇ず鏁版嵁錛屽鏈緥涓殑createReportDefinition鏂規硶瀹屾垚鐨勫姛鑳?br /> 銆銆灝嗘暟鎹拰JFreeReport瀹炰緥榪炴帴璧鋒潵錛屽茍涓斿皢璇FreeReport瀹炰緥浼犵粰PreviewDialog鐨勪竴涓疄渚嬫樉紺虹粰鐢ㄦ埛
銆銆
銆銆3銆浣跨敤JFreeReport鐢熸垚澶嶆潅鎶ヨ〃
銆銆3.1銆鎶ヨ〃瀹氫箟鏂囦歡
銆銆
銆銆鎶ヨ〃瀹氫箟鏂囦歡鏄疛FreeReport鐢熸垚澶嶆潅鎶ヨ〃鐨勯噸瑕佹枃浠訛紝浠栧氨鏄竴涓猉ML鏂囨。錛屼富瑕佹弿榪板浣曚嬌鐢ㄦ寚瀹氱殑鏍煎紡鐢熸垚澶嶆潅鐨勬姤琛紝
 鍚屾椂浣跨敤鎶ヨ〃瀹氫箟鏂囦歡涔熷彲浠ュ湪鎶ヨ〃鏍煎紡闇瑕佷慨鏀規椂鍙渶瑕佹洿鏂拌鎶ヨ〃瀹氫箟鏂囦歡錛岃屼笉闇瑕佷慨鏀瑰簲鐢ㄤ唬鐮併?br /> 銆銆
銆銆3.1.1銆鎶ヨ〃瀹氫箟鏂囦歡鍒嗙被
銆銆
銆銆JFreeReport涓嬌鐢ㄤ簡涓ょ鍩轟簬XML鐨勬姤琛ㄥ畾涔夋枃浠舵潵淇濆瓨鎶ヨ〃瀹氫箟淇℃伅錛氱畝鍗曟牸寮忓拰鎵╁睍鏍煎紡錛庡緢鏄庢樉,綆鍗曟牸寮忎笉鑳藉瀹屽叏
 鐨勬弿榪癑FreeReport鏀寔鐨勫叏閮ㄦ姤琛ㄥ畾涔変俊鎭?浣嗘槸浠栨洿鏄撲簬涓婃墜浣跨敤銆傝屾墿灞曟牸寮忓垯鑳藉瀵笿FreeReport鐨勬姤琛ㄥ畾涔夋彁渚?br />  瀹屾暣鐨勬敮鎸侊紝浣嗘槸鎵╁睍鏍煎紡澶叿浣撲簡錛屼笉澶交鏄撲嬌鐢ㄣ?br /> 銆銆
銆銆鍏充簬榪欎袱縐嶆姤琛ㄥ畾涔夋牸寮忔枃浠舵墍

KE 2008-04-02 19:32 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 4虎永免费最新永久免费地址| www永久免费视频| 一区二区三区观看免费中文视频在线播放 | 亚洲国产精品免费在线观看| 免费人成毛片动漫在线播放| 国产成人亚洲综合无码精品 | 久久水蜜桃亚洲AV无码精品| 国产美女无遮挡免费视频网站| 亚洲美国产亚洲AV| 国产免费av一区二区三区| 自拍偷自拍亚洲精品播放| 免费国产在线观看不卡| a级毛片免费观看在线| 亚洲老妈激情一区二区三区| 久久成人免费电影| 亚洲性猛交xx乱| 成人毛片免费观看视频| 黄色网页免费观看| 久久久久久a亚洲欧洲aⅴ| 最近最新高清免费中文字幕| 亚洲伊人久久大香线焦| 日本免费人成视频播放| jizz在线免费播放| 亚洲国产精品久久66| 久久不见久久见中文字幕免费 | 亚洲av伊人久久综合密臀性色| 热re99久久6国产精品免费| avtt天堂网手机版亚洲| 亚洲av麻豆aⅴ无码电影| 麻豆精品不卡国产免费看| 亚洲男人天堂影院| 国产极品粉嫩泬免费观看| 韩日电影在线播放免费版| 亚洲国语在线视频手机在线| 四虎影视在线永久免费看黄| 秋霞人成在线观看免费视频| 亚洲欧洲日产国码久在线| 亚洲精品tv久久久久久久久| 免费做爰猛烈吃奶摸视频在线观看| 一级做a爰片久久毛片免费陪 | 亚洲AV性色在线观看|