導航:首頁 > 編程語言 > jsp列印指定二維碼源代碼

jsp列印指定二維碼源代碼

發布時間:2023-08-26 05:44:38

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.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 不用插件,生成圖片直接放入位置,就可以列印。

閱讀全文

與jsp列印指定二維碼源代碼相關的資料

熱點內容
vc修改文件名 瀏覽:149
linux65從域 瀏覽:321
用什麼東西壓縮文件 瀏覽:406
怎麼刪除ipad隱藏的APP 瀏覽:981
編程如何佔用大量內存 瀏覽:116
多個excel表格文件如何組合 瀏覽:918
ubuntu內核升級命令 瀏覽:679
pgp文件夾 瀏覽:894
一鍵還原的文件是什麼格式 瀏覽:581
女漢子微信名霸氣十足 瀏覽:65
win10手機藍屏修復 瀏覽:419
windows2008激活工具 瀏覽:259
g71的編程應注意什麼 瀏覽:572
文件路徑不符合是什麼意思 瀏覽:543
qq如何換綁微信綁定 瀏覽:67
文件包下載的安裝包在哪裡 瀏覽:811
90版本升級不送 瀏覽:186
工具箱英文 瀏覽:382
南翔嘉定編程課哪裡好 瀏覽:853
win10改變文件格式 瀏覽:475

友情鏈接