❶ jsp生成的二維碼,怎麼在wed項目中讀取
package com.cityctrl.util;
import java.awt.BasicStroke;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Shape;
import java.awt.geom.RoundRectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.OutputStream;
import java.util.Hashtable;
import java.util.Random;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.DecodeHintType;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.Result;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
/**
* 二維碼工具類
*
*/
public class QRCodeUtil {
private static final String CHARSET = "utf-8";
private static final String FORMAT_NAME = "JPG";
// 二維碼尺寸
private static final int QRCODE_SIZE = 300;
// LOGO寬度
private static final int WIDTH = 60;
// LOGO高度
private static final int HEIGHT = 60;
private static BufferedImage createImage(String content, String imgPath,
boolean needCompress) throws Exception {
Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
hints.put(EncodeHintType.CHARACTER_SET, CHARSET);
hints.put(EncodeHintType.MARGIN, 1);
BitMatrix bitMatrix = new MultiFormatWriter().encode(content,
BarcodeFormat.QR_CODE, QRCODE_SIZE, QRCODE_SIZE, hints);
int width = bitMatrix.getWidth();
int height = bitMatrix.getHeight();
BufferedImage image = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000
: 0xFFFFFFFF);
}
}
if (imgPath == null || "".equals(imgPath)) {
return image;
}
// 插入圖片
QRCodeUtil.insertImage(image, imgPath, needCompress);
return image;
}
/**
* 插入LOGO
*
* @param source
*            二維碼圖片
* @param imgPath
*            LOGO圖片地址
* @param needCompress
*            是否壓縮
* @throws Exception
*/
private static void insertImage(BufferedImage source, String imgPath,
boolean needCompress) throws Exception {
File file = new File(imgPath);
if (!file.exists()) {
System.err.println(""+imgPath+"   該文件不存在!");
return;
}
Image src = ImageIO.read(new File(imgPath));
int width = src.getWidth(null);
int height = src.getHeight(null);
if (needCompress) { // 壓縮LOGO
if (width > WIDTH) {
width = WIDTH;
}
if (height > HEIGHT) {
height = HEIGHT;
}
Image image = src.getScaledInstance(width, height,
Image.SCALE_SMOOTH);
BufferedImage tag = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
Graphics g = tag.getGraphics();
g.drawImage(image, 0, 0, null); // 繪制縮小後的圖
g.dispose();
src = image;
}
// 插入LOGO
Graphics2D graph = source.createGraphics();
int x = (QRCODE_SIZE - width) / 2;
int y = (QRCODE_SIZE - height) / 2;
graph.drawImage(src, x, y, width, height, null);
Shape shape = new RoundRectangle2D.Float(x, y, width, width, 6, 6);
graph.setStroke(new BasicStroke(3f));
graph.draw(shape);
graph.dispose();
}
/**
* 生成二維碼(內嵌LOGO)
*
* @param content
*            內容
* @param imgPath
*            LOGO地址
* @param destPath
*            存放目錄
* @param needCompress
*            是否壓縮LOGO
* @throws Exception
*/
public static void encode(String content, String imgPath, String destPath,
boolean needCompress) throws Exception {
BufferedImage image = QRCodeUtil.createImage(content, imgPath,
needCompress);
mkdirs(destPath);
String file = new Random().nextInt(99999999)+".jpg";
ImageIO.write(image, FORMAT_NAME, new File(destPath+"/"+file));
}
/**
* 當文件夾不存在時,mkdirs會自動創建多層目錄,區別於mkdir.(mkdir如果父目錄不存在則會拋出異常)
* @author lanyuan
* Email: [email protected]
* @date 2013-12-11 上午10:16:36
* @param destPath 存放目錄
*/
public static void mkdirs(String destPath) {
File file =new File(destPath);
//當文件夾不存在時,mkdirs會自動創建多層目錄,區別於mkdir.(mkdir如果父目錄不存在則會拋出異常)
if (!file.exists() && !file.isDirectory()) {
file.mkdirs();
}
}
/**
* 生成二維碼(內嵌LOGO)
*
* @param content
*            內容
* @param imgPath
*            LOGO地址
* @param destPath
*            存儲地址
* @throws Exception
*/
public static void encode(String content, String imgPath, String destPath)
throws Exception {
QRCodeUtil.encode(content, imgPath, destPath, false);
}
/**
* 生成二維碼
*
* @param content
*            內容
* @param destPath
*            存儲地址
* @param needCompress
*            是否壓縮LOGO
* @throws Exception
*/
public static void encode(String content, String destPath,
boolean needCompress) throws Exception {
QRCodeUtil.encode(content, null, destPath, needCompress);
}
/**
* 生成二維碼
*
* @param content
*            內容
* @param destPath
*            存儲地址
* @throws Exception
*/
public static void encode(String content, String destPath) throws Exception {
QRCodeUtil.encode(content, null, destPath, false);
}
/**
* 生成二維碼(內嵌LOGO)
*
* @param content
*            內容
* @param imgPath
*            LOGO地址
* @param output
*            輸出流
* @param needCompress
*            是否壓縮LOGO
* @throws Exception
*/
public static void encode(String content, String imgPath,
OutputStream output, boolean needCompress) throws Exception {
BufferedImage image = QRCodeUtil.createImage(content, imgPath,
needCompress);
ImageIO.write(image, FORMAT_NAME, output);
}
/**
* 生成二維碼
*
* @param content
*            內容
* @param output
*            輸出流
* @throws Exception
*/
public static void encode(String content, OutputStream output)
throws Exception {
QRCodeUtil.encode(content, null, output, false);
}
/**
* 解析二維碼
*
* @param file
*            二維碼圖片
* @return
* @throws Exception
*/
public static String decode(File file) throws Exception {
BufferedImage image;
image = ImageIO.read(file);
if (image == null) {
return null;
}
BufferedImageLuminanceSource source = new BufferedImageLuminanceSource(
image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
Result result;
Hashtable<DecodeHintType, Object> hints = new Hashtable<DecodeHintType, Object>();
hints.put(DecodeHintType.CHARACTER_SET, CHARSET);
result = new MultiFormatReader().decode(bitmap, hints);
String resultStr = result.getText();
return resultStr;
}
/**
* 解析二維碼
*
* @param path
*            二維碼圖片地址
* @return
* @throws Exception
*/
public static String decode(String path) throws Exception {
return QRCodeUtil.decode(new File(path));
}
public static void main(String[] args) throws Exception {
String text = "userid:37115,equipmentid:E8000031023CCA1,callnumber:BJ5352,type:5";
//QRCodeUtil.encode(text, "D:/document/1自己的/車翼達手台APP圖標/手台APP圖標_60x60.png", "D:/document/1自己的/out", true);
QRCodeUtil.encode(text,"D://saomiao");
//File afile = new File("C:\\apache-tomcat-7.0.47\\webapps\\acts_h5\\file\\20170531160340.png");
//System.out.println("解析後的內容:++"+decode(afile));
}
}
❷ A4紙張有6個不幹膠區域,把生成的二維碼列印到其中的一個區域,改如何通過JSP做到這個列印效果啊
使用安徽天冠可變數據列印軟體,可以列印動態的二維碼,並可以隨意設置位置、大小。該公司還提供二維碼生成和識別
❸ JSP如何添加列印功能
<html>   
  <head>   
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">   
  <title>emu's   sample   of   printing   with   title</title>   
  <style>   
  @media   screen{.onlyPrint{display:none}}   
  @media   print{.onlyShow{display:none}   .onlyPrint{page-break-before:always}}   
  </style>   
  <SCRIPT   LANGUAGE="JavaScript">   
  <!--   
  //   這里定義每頁能列印多少行   
  //模擬數據   
  function   prepare()   
  {   
  var   ar   =   new   Array()   
  for   (var   i=parseInt(linesPerPage.value);i<(show.children.length-1);   i+=parseInt(linesPerPage.value))   
  {   
  var   tr   =   show.insertBefore(show.firstChild.cloneNode(true),show.children[i]);   
  tr.className   =   "onlyPrint"   
  ar[ar.length]   =   tr;   
  }   
  preView();   
  for   (var   i=ar.length-1;i>-1;i--)   
  show.deleteRow(ar[i].rowIndex)   
  }   
  function   pageSetup(){try{WB.ExecWB(8,1)}catch(e){alert("您的瀏覽器不支持此功能")}}   
  function   preView(){try{WB.ExecWB(7,1)}catch(e){alert("您的瀏覽器不支持此功能")}}   
  //-->   
  </SCRIPT>   
  </head>   
<body>   
  <OBJECT   classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2   height=0   id=WB   width=0   VIEWASTEXT></OBJECT>   
  <center   class=onlyShow>   
  設定每頁列印   
  <input   id=linesPerPage   size=4   value=10>行         
  <button   onclick='pageSetup()'>頁面設置</button>   
  <button   onClick='prepare()'>列印預覽</button><BR><BR>   
  </center>   
<table   bgcolor=balck   cellspacing=1   cellpadding=3   align=center>   
  <tbody   bgcolor=white   id=show>   
  <tr>   
  <td>員工號</td><td>姓名</td><td>職務</td><td>部門</td><td>扣稅</td><td>上月結余</td><td>實發工資</td><td>應發工資</td><td>應扣款</td></tr>   
  <tr><td>0009</td><td>sdfa</td><td>副總裁</td><td>技術部</td><td>150.57</td><td>0.0</td><td>3706.61</td><td>3857.18</td><td>150.57</td></tr>   
  <tr><td>1000</td><td>趙志燕</td><td>總裁</td><td>技術部</td><td>0.0</td><td>0.0</td><td>2204.98</td><td>2221.62</td><td>16.64</td></tr>   
  <tr><td>1001</td><td>趙志平</td><td>副總裁</td><td>金工車間</td><td>122.74</td><td>0.0</td><td>3599.18</td><td>3739.52</td><td>140.33</td></tr>   
  <tr><td>1002</td><td>趙志勇</td><td>副總裁</td><td>生產部</td><td>324.6</td><td>0.0</td><td>5532.95</td><td>5857.56</td><td>324.6</td></tr>   
  <tr><td>1003</td><td>趙志華</td><td>副總裁</td><td>質量管理部</td><td>859.69</td><td>0.0</td><td>11155.8</td><td>12016.21</td><td>860.41</td></tr>   
  <tr><td>1004</td><td>趙志強</td><td>總經理</td><td>注塑班</td><td>726.58</td><td>0.0</td><td>9757.66</td><td>10484.84</td><td>727.18</td></tr>   
  <tr><td>1005</td><td>趙小燕</td><td>副總經理</td><td>計劃調度室</td><td>8.98</td><td>0.0</td><td>2036.64</td><td>2045.62</td><td>8.98</td></tr>   
  <tr><td>1006</td><td>趙小平</td><td>副總經理</td><td>采購部</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>   
  <tr><td>1007</td><td>趙小勇</td><td>副總經理</td><td>銷售部</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>   
  <tr><td>1008</td><td>趙小華</td><td>經理助理</td><td>用戶服務部</td><td>0.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>   
  <tr><td>1009</td><td>趙小強</td><td>經理助理</td><td>質量管理部</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td></tr>   
  <tr><td>1010</td><td>趙燕</td><td>經理助理</td><td>海外市場部</td><td>8.98</td><td>0.0</td><td>2036.64</td><td>2045.62</td><td>8.98</td></tr>   
  <tr><td>1011</td><td>趙平</td><td>部門經理</td><td>營銷部</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>   
  <tr><td>1012</td><td>趙勇</td><td>部門經理</td><td>開發部</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>   
  <tr><td>1013</td><td>趙華</td><td>部門經理</td><td>公司</td><td>859.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>   
  <tr><td>1014</td><td>趙強</td><td>部門經理</td><td>總裁辦公室</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td></tr>   
  <tr><td>1015</td><td>趙海燕</td><td>部門經理</td><td>企業發展部</td><td>8.98</td><td>0.0</td><td>2036.64</td><td>2045.62</td><td>8.98</td></tr>   
  <tr><td>1016</td><td>趙海平</td><td>部門經理</td><td>質量管理部</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>   
  <tr><td>1017</td><td>趙海勇</td><td>部門經理</td><td>計劃財經部</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>   
  <tr><td>1018</td><td>趙海華</td><td>部門經理</td><td>人事行政部</td><td>859.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>   
  <tr><td>1019</td><td>趙海強</td><td>部門經理</td><td>技術科</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td></tr>   
  <tr><td>1020</td><td>趙健燕</td><td>部門經理</td><td>小沖壓</td><td>8.98</td><td>0.0</td><td>2036.64</td><td>2045.62</td><td>8.98</td></tr>   
  <tr><td>1021</td><td>趙健平</td><td>部門經理</td><td>大沖壓</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>   
  <tr><td>1022</td><td>趙健勇</td><td>部門經理</td><td>計劃調度室</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>   
  <tr><td>1023</td><td>趙健華</td><td>部門經理</td><td>生產部</td><td>859.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>   
  <tr><td>1024</td><td>趙健強</td><td>部門經理</td><td>質量管理部</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td></tr>   
  <tr><td>1026</td><td>趙國平</td><td>部門經理</td><td>管理組</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>   
  <tr><td>1027</td><td>趙國勇</td><td>部門經理</td><td>采購部</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>   
  <tr><td>1028</td><td>趙國華</td><td>部門經理</td><td>業務員</td><td>859.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>   
  <tr><td>1029</td><td>趙國強</td><td>部門經理</td><td>銷售部</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td>   
    
  </tr>   
  </tbody>   
  </table>   
  </body>   
  </html>
❹ jsp中如何實現列印功能
// JavaScript Document
function printArea
{(function($) {
var printAreaCount = 0;
$.fn.printArea = function()
{
var ele = $(this);
var idPrefix = "printArea_";
//removePrintArea( idPrefix + printAreaCount );
printAreaCount++;
var iframeId = idPrefix + printAreaCount;
var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
iframe = document.createElement('IFRAME');
$(iframe).attr({ style : iframeStyle,
id    : iframeId
});
document.body.appendChild(iframe);
var doc = iframe.contentWindow.document;
doc.open();
$(document).find("link")
.filter(function(){
return $(this).attr("rel").toLowerCase() == "stylesheet";
})
.each(function(){
doc.write('<link type="text/css" rel="stylesheet" href="' +
$(this).attr("href") + '" >');
});
doc.write('<div class="' + $(ele).attr("class") + '">' + $(ele).html() + '</div>');
doc.close();
var frameWindow = iframe.contentWindow;
frameWindow.close();
frameWindow.focus();
frameWindow.print();
};
//var removePrintArea = function(id)
//{
//$( "iframe#" + id ).remove();
//};
})(jQuery);
(function($) {
var printAreaCount = 0;
$.fn.printAreaTwice = function()
{
var ele = $(this);
var idPrefix = "printArea_";
//removePrintArea( idPrefix + printAreaCount );
printAreaCount++;
var iframeId = idPrefix + printAreaCount;
var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
iframe = document.createElement('IFRAME');
$(iframe).attr({ style : iframeStyle,
id    : iframeId
});
document.body.appendChild(iframe);
var doc = iframe.contentWindow.document;
$(document).find("link")
.filter(function(){
return $(this).attr("rel").toLowerCase() == "stylesheet";
})
.each(function(){
doc.write('<link type="text/css" rel="stylesheet" href="' +
$(this).attr("href") + '" >');
});
doc.write('<div class="' + $(ele).attr("class") + '">' + $(ele).html() + '</div></br></br>');
doc.write('<div class="' + $(ele).attr("class") + '">' + $(ele).html() + '</div>');
doc.close();
var frameWindow = iframe.contentWindow;
frameWindow.close();
frameWindow.focus();
frameWindow.print();
};
//var removePrintArea = function(id)
//{
//$( "iframe#" + id ).remove();
//};
})(jQuery);
}
<input type="button" onclick="$('#ceshi').printArea()">
<div id="ceshi">
<table><tr><td>12234</td></tr></table>
</div>
❺ jsp頁面如何用代碼(java語言)實現列印功能
如一樓所說,你的jsp源文件的java代碼是在伺服器上執行的,客戶端接收到的只有html
用JavaScript列印吧
<input
id="btnPrint"
type="button"
value="列印"
onclick="javascript:window.print();"
/>
可以用樣式控制,你想讓那塊列印就列印啊,樣式如下:
<style
type="text/css"
media=print>
.noprint{display
:
none
}
</style>
然後使用樣式就可以:
<p
class="noprint">不需要列印的地方</p>
❻ 如何實現Jsp連接列印機列印功能
方法有很多,當然實現的難易也不同。
 列印的頁面部分,再通過JavaScript函數print()調用瀏覽器自帶的列印功能,也可以直接實現列印。
 以下通過實例進行說明。
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns="http://www.w3.org/1999/xhtml">
< head>
< meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
< title>JSP中實現列印功能</title>
< style type="text/css">
< !--
 .STYLE5 {color: #993399; font-size: xx-large; }
 .STYLE6 {font-size: xx-large}
 -->
< /style>
< !--  將不用列印出來的地方隱藏了-->
< style type="text/css" media="print">
< !--
  .dis{display:none;}
 -->
< /style>
< /head>
< body>
< table width="616" height="350" border="1" align="center">
   <tr>
     <td colspan="2"> <span class="STYLE6">bbbbb </span></td>
   </tr>
   <tr>
     <td><span class="STYLE5">aaa</span></td>
     <td bgcolor="#99CCCC"><span class="STYLE6">bbbb</span></td>
   </tr>
   <tr>
     <td><span class="STYLE5">aaa</span></td>
     <td bgcolor="#99CCCC"><span class="STYLE6">bbbb</span></td>
   </tr>
   <tr>
     <td><span class="STYLE5">aaa</span></td>
     <td bgcolor="#99CCCC"><span class="STYLE6">bbbbb</span></td>
   </tr>
< /table>
    <p class="dis" align="center">
            <OBJECT   classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2   height=0   id="WebBrowser"   width=0> </OBJECT>   
< input   name=Button   onClick=document.all.WebBrowser.ExecWB(1,1)   type=button   value=打開> 
< input   name=Button   onClick=document.all.WebBrowser.ExecWB(2,1)   type=button   value=關閉所有> 
< input   name=Button   onClick=document.all.WebBrowser.ExecWB(4,1)   type=button   value=另存為>   
< input   name=Button   onClick=document.all.WebBrowser.ExecWB(6,1)   type=button   value=列印> 
< input   name=Button   onClick=document.all.WebBrowser.ExecWB(6,6)   type=button   value=直接列印> 
< input   name=Button   onClick=document.all.WebBrowser.ExecWB(7,1)   type=button   value=列印預覽> 
< input   name=Button   onClick=document.all.WebBrowser.ExecWB(8,1)   type=button   value=頁面設置> 
< input   name=Button   onClick=document.all.WebBrowser.ExecWB(10,1)   type=button   value=屬性> 
< input   name=Button   onClick=document.all.WebBrowser.ExecWB(17,1)   type=button   value=全選> 
< input   name=Button   onClick=document.all.WebBrowser.ExecWB(22,1)   type=button   value=刷新> 
< input   name=Button   onClick=document.all.WebBrowser.ExecWB(45,1)   type=button   value=關閉>
    </p>
< /body>
< /html>
❼ 如何在jsp頁面實現列印功能
jsp實現列印功能,需要調用windows對象,實例如下:
<scriptlanguage=JavaScript>
if(window.print){document.write('<inputtype=buttonname=printvalue="列印頁內面"'+'onClick="javascript:window.print()">');}
</script>嵌入這段容代碼
❽ 怎樣在jsp中實現列印功能
不知道你說的是前端在瀏覽器控制台列印還是伺服器的控制台列印。
瀏覽器列印在js用console.log。
伺服器列印的話
<%System.out.print("");%>
❾ java代碼的列印信息控制項怎麼做或者有現成的代碼也行。
一: 首先理清業務邏輯
兩個窗口, 第一個主窗口, 是用於填寫信息的, 點擊按鈕後,跳轉到第二個窗口,.
第二個對話框窗口 ,用於顯示需要列印的信息, 以及列印到文檔
二: 確定需要的技術, java圖像界面主要使用awt和swing
swing裡面的控制項比較豐富, 且功能強大 .
三: 效果圖片
 importjava.awt.*;
importjava.awt.*;
importjava.awt.event.*;
importjava.io.*;
importjavax.swing.*;
//定義一個主窗口類
{
	publicstaticfinalStringFILE_PATH="c:\print.txt";//常量,用於指定信息的保存路徑
	//定義主要的組件
	privatefinalJTextFieldjtf1,jtf2,jtf3;
	privatefinalJCheckBoxjcb1,jcb2,jcb3;
	privatefinalJRadioButtonjrb1,jrb2;
	publicMainFrame(){
		setTitle("信息提交窗口");//設置窗口標題
		setSize(350,320);//設置窗口大小
		setLocationRelativeTo(null);//讓窗口居中
		setDefaultCloseOperation(EXIT_ON_CLOSE);//當主窗口關閉的時候退出jvm虛擬機
		JPaneljp=newJPanel(newGridLayout(5,1,2,1));//定義主顯示面板,布局為表格布局5行1列,水平間距2,垂直間距1
		
		JPaneljp1=newJPanel();//第一行的組件面板
		JLabeljl1=newJLabel("姓名");
		jtf1=newJTextField(10);
		jp1.add(jl1);
		jp1.add(jtf1);
		JPaneljp2=newJPanel();//第二行的組件面板
		JLabeljl2=newJLabel("學號");
		jtf2=newJTextField(10);
		jp2.add(jl2);
		jp2.add(jtf2);
		JPaneljp3=newJPanel();//第三行的組件面板
		JLabeljl3=newJLabel("性別");
		jrb1=newJRadioButton("男");
		jrb2=newJRadioButton("女");
		jrb1.setSelected(true);
		ButtonGroupbgs=newButtonGroup();
		bgs.add(jrb1);
		bgs.add(jrb2);
		jp3.add(jl3);
		jp3.add(jrb1);
		jp3.add(jrb2);
		JPaneljp4=newJPanel();//第四行的組件面板
		JLabeljl4=newJLabel("選擇愛好");
		jcb1=newJCheckBox("游泳");
		jcb2=newJCheckBox("籃球");
		jcb3=newJCheckBox("跑步");
		jp4.add(jl4);
		jp4.add(jcb1);
		jp4.add(jcb2);
		jp4.add(jcb3);
		JPaneljp5=newJPanel();//第五行的組件面板
		JLabeljl5=newJLabel("自我介紹");
		jtf3=newJTextField(22);
		jp5.add(jl5);
		jp5.add(jtf3);
		
		//添加到主顯示面板
		jp.add(jp1);
		jp.add(jp2);
		jp.add(jp3);
		jp.add(jp4);
		jp.add(jp5);
		jp.setBorder(BorderFactory.createTitledBorder("填寫資料"));//設置主顯示面板的邊框
		JButtonjb=newJButton("跳轉到列印頁");
		jb.addActionListener(newActionListener(){//按鈕事件
			publicvoidactionPerformed(ActionEvente){//獲取組件的信息
				StringBuildersb=newStringBuilder();//用於連接信息
				Stringname=jtf1.getText();
				sb.append("姓名:"+name+"
");
				Stringnum=jtf2.getText();
				sb.append("學號:"+num+"
");
				Stringsex;
				if(jrb1.isSelected()){
					sex="男";
				}else{
					sex="女";
				}
				sb.append("性別:"+sex+"
");
				Stringaihao="";
				if(jcb1.isSelected()){
					aihao+=jcb1.getText();
				}
				if(jcb2.isSelected()){
					aihao+=""+jcb2.getText();
				}
				if(jcb3.isSelected()){
					aihao+=""+jcb3.getText();
				}
				sb.append("愛好:"+aihao+"
");
				Stringjieshao=jtf3.getText();
				sb.append("自我介紹:"+jieshao+"
");
				newPrintDailog(sb.toString(),FILE_PATH).setVisible(true);//打開列印頁面,並設置為可見
			}
		});
		
		getContentPane().add(newJLabel("信息填寫",JLabel.CENTER),BorderLayout.NORTH);
		getContentPane().add(jp);
		getContentPane().add(jb,BorderLayout.SOUTH);
	}
	publicstaticvoidmain(String[]args){
		newMainFrame().setVisible(true);
	}
}
//定義一個對話框窗口類
{
	Stringinfo;//用於接受信息
	StringfilePath;//文檔的路徑
	privatefinalJLabeljl2;
	publicPrintDailog(Stringinfo,finalStringfilePath){
		this.info=info;
		this.filePath=filePath;
		setModal(true);//模態為真,如果不關閉這個對話框,那麼無法點擊其他窗口
		setTitle("信息列印頁");//設置列印窗口的標題
		setSize(300,320);//設置列印窗口的大小
		setLocationRelativeTo(null);//設置列印窗口居中
		setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);//當點擊關閉按鈕時,該窗口銷毀
		JLabeljl1=newJLabel("信息列印顯示",JLabel.CENTER);
		JTextAreajta=newJTextArea(info);
		jta.setEditable(false);//不可編輯
		jta.setLineWrap(true);//自動換行
		JScrollPanejsp=newJScrollPane(jta);
		jsp.setBorder(BorderFactory.createTitledBorder("信息"));
		JButtonjb1=newJButton("列印");
		JPaneljp=newJPanel(newGridLayout(2,1));
		JPaneljp1=newJPanel();
		jp1.add(jb1);
		
		JPaneljp2=newJPanel();
		jl2=newJLabel();
		jp2.add(jl2);
		
		jp.add(jp1);
		jp.add(jp2);
		add(jl1,BorderLayout.NORTH);
		add(jsp);
		add(jp,BorderLayout.SOUTH);
		jb1.addActionListener(newActionListener(){//點擊列印的按鈕的事件
			publicvoidactionPerformed(ActionEvente){
				saveToFile();//信息列印到了文檔
				jl2.setText("信息已經列印到"+filePath);//顯示出來
				jl2.setForeground(Color.RED);//為了醒目設置顏色為紅色
			}
		});
	}
	privatevoidsaveToFile(){//該方法用於保存信息到文檔
		try{
			BufferedWriterbw=newBufferedWriter(newOutputStreamWriter(newFileOutputStream(filePath),"UTF-8"));
			bw.write(info);
			bw.close();
		}catch(Exceptione){
			e.printStackTrace();
		}
	}
}
五: 拓展
java 製作圖像界面比較簡單, 只需要熟練的掌握三大布局(流布局 表格布局 邊界布局)和常用組件 , 就能製作出比較復雜的界面 . 所以理清業務邏輯, 才是重點
❿ jquery.qrcode插件在Jsp中能顯示二維碼圖,但列印不出來這個二維碼,怎樣列印呢
你說的這個qr code插件本身就是代碼形式的顯示方式。不是圖片怎麼能列印。
1 是php的就轉成圖片。
2 不用插件,生成圖片直接放入位置,就可以列印。