关于打印的问题,急急急急急急,请指教!100分相送,希望能尽快得到大家的帮忙!

lixiang823517 2004-01-07 05:10:01
一个jtextarea,一个JBUTTON 一个Jtextfield
功能描述:
在Jtextfield输入数字(打印的张数),jtextarea中是一个string
点击Jbutton,用打印机打印出jtextarea中的内容,并打印"Jtextfield中输入的数字"张!

因为以前没做过在打印机上打印输出的东西,所以有点问题,希望能给一段代码,谢
谢!

问题解决立刻给分,顺祝大家新年快乐!
...全文
105 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixiang823517 2004-01-17
  • 打赏
  • 举报
回复
为什么打印不出来呢?
lyvictor131 2004-01-16
  • 打赏
  • 举报
回复
这个可以打了
但是还是有很多问题
比如页面的设计
你自己看doc研究吧!!!

import javax.swing.*;
import javax.swing.event.*;
import javax.print.*;
import javax.print.event.*;
import javax.print.attribute.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;
import java.util.*;
import javax.print.attribute.standard.*;
public class PrintTest1
extends JApplet {
public static void main(String args[]) {
JFrame frame1 = new PrintFrame();
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.show();
}
}

class PrintFrame
extends JFrame
implements ActionListener, Printable,Pageable {
public static final int WIDTH = 600;
public static final int HEIGHT = 450;
PrinterJob pj;
JButton jb = new JButton("打印");
JTextArea jta = new JTextArea(100,100);

JTextField jtf = new JTextField();
Graphics2D g2;
static PageFormat pf;
int page;
public PrintFrame() {
setSize(WIDTH, HEIGHT);
setTitle("打印程序");


Container con = getContentPane();
con.add(jb, BorderLayout.NORTH);
con.add(jtf, BorderLayout.SOUTH);
JScrollPane sp = new JScrollPane(jta);
con.add(jta, BorderLayout.CENTER);
jb.addActionListener(this);
pj = PrinterJob.getPrinterJob();
pf = new PageFormat();
Paper p = pf.getPaper();
p.setImageableArea(10, 10, 500, 500);
pf.setPaper(p);

}
public static void setPageFormat( PageFormat pageFormat )
{
pf = pageFormat;
}

public PageFormat getPageFormat(int pageIndex){
return pf;
}

public Printable getPrintable(int pageIndex){
return this;
}
public int getNumberOfPages(){
return page;
}
public int print(Graphics g, PageFormat pf, int page) throws
PrinterException {

g2 = (Graphics2D) g;
g2.translate(pf.getImageableX(), pf.getImageableY());

g2.setPaint(Color.black);
g2.drawString(jta.getText(), 0, WIDTH);
if (page > 2) return Printable.NO_SUCH_PAGE;

return Printable.PAGE_EXISTS;
}

public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("打印")) {
try {
pj.setPageable(this);
pj.setPrintable(this,pf);
PrintRequestAttributeSet j_attSet;
// 印刷ダイアログを表示する。
j_attSet = new HashPrintRequestAttributeSet();
pj.printDialog(j_attSet);
pj.print();
}
catch ( Exception we) {
we.printStackTrace();
}
}
}
}
lixiang823517 2004-01-16
  • 打赏
  • 举报
回复
有人能帮忙解决一下吗?????????????????????????

难道CSDN无热心的高人了吗?
大河V5 2004-01-16
  • 打赏
  • 举报
回复
xx
lixiang823517 2004-01-16
  • 打赏
  • 举报
回复
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("打印")) {
try {
pj.setPageable(this);
pj.setPrintable(this,pf);
PrintRequestAttributeSet j_attSet;
// 印刷ダイアログを表示する。
j_attSet = new HashPrintRequestAttributeSet();
pj.printDialog(j_attSet);
pj.print();
}
catch ( Exception we) {
we.printStackTrace();
}
}
}
}

jta的值从哪传进去的?
您测试过吗,能打印吗?我这为什么不行???
lixiang823517 2004-01-15
  • 打赏
  • 举报
回复
打印就这么难吗/
我在这守侯了三天了!
YE0515 2004-01-15
  • 打赏
  • 举报
回复
继续帮你顶!!!
lixiang823517 2004-01-15
  • 打赏
  • 举报
回复
能顶则顶吧,谢谢楼上的兄弟!
一定要顶到有人回答的一天,一直以来我都认为CSDN上有很多高人的说,难道都归隐了或者是不愿意回答如此简单的问题?
我还有一个关于jtable鼠标监听的问题:(前面的已经解决了,现在在求JTABLE的鼠标监听的办法)
http://expert.csdn.net/Expert/topic/2605/2605015.xml?temp=.9472162
希望大家能帮忙解决解决,就算帮忙顶一下偶也万分感谢啊!
YE0515 2004-01-15
  • 打赏
  • 举报
回复
哥们,我能为你做的就是帮你将贴子提前,不知这样算不算帮忙!
up!up!
lixiang823517 2004-01-14
  • 打赏
  • 举报
回复
现在不是好做不好做的问题,我需要的是实现功能!谢谢你的提醒
guoxyj 2004-01-14
  • 打赏
  • 举报
回复
Java打印是不太好做,针式打印机字体发虚
lixiang823517 2004-01-14
  • 打赏
  • 举报
回复
谁能给段代码啊~
需求如下
一个JtextArea,一个jbutton ,一个jtextfield
下面我给出面板的代码,可以直接使用!上面是按钮,中间是JtextArea,下面是Jtextfield!!!怎么给jbutton加上一个打印事件,打印输出JtextArea的内容,一共打印jtextfield中所填写的张数!希望在我给出的原代码上填加,谢谢了!急得很,希望能得到大家的帮助!再次谢过!


import javax.swing.*;
import javax.swing.event.*;
import javax.print.*;
import javax.print.event.*;
import javax.print.attribute.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;
import java.util.*;
public class PrintTest1 extends JApplet
{
public static void main(String args[])
{
JFrame frame1=new PrintFrame();
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.show();
}
}
class PrintFrame extends JFrame
{
JButton jb=new JButton("打印");
JTextArea jta=new JTextArea();
JTextField jtf=new JTextField();
public PrintFrame()
{
setSize(WIDTH,HEIGHT);
setTitle("打印测试程序");
Container con=getContentPane();
con.add(jb,BorderLayout.NORTH);
con.add(jtf,BorderLayout.CENTER);
con.add(jta,BorderLayout.SOUTH);
}
public static final int WIDTH=600;
public static final int HEIGHT=450;
}
lixiang823517 2004-01-14
  • 打赏
  • 举报
回复
代码代码~~~~在我的那个的基础上实现打印的代码,谢谢了!
bookbobby 2004-01-14
  • 打赏
  • 举报
回复
使用jfreereport http://www.jfree.org/jfreereport/index.html

zhaoqy0416 2004-01-08
  • 打赏
  • 举报
回复
唉 看得头大先把你帖子提前把

一会在看看
rongrongGsr 2004-01-07
  • 打赏
  • 举报
回复
public class PrintTest extends JFrame implements ActionListener, Printable
{
JButton test=new JButton("TestPrinter");
public PrintTest()
{
this.setTitle("Print Test");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds((int)((SystemProperties.SCREEN_WIDTH - 800) / 2),
(int)((SystemProperties.SCREEN_HEIGHT - 600) / 2), 800, 600);
initLayout();
}
private void initLayout()
{
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(test, BorderLayout.CENTER);
test.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
doTest();
}
});
}
private void doTest()
{
try{
PrinterJob pj=PrinterJob.getPrinterJob();
PageFormat pa=pj.defaultPage();

Paper p = pa.getPaper();
p.setImageableArea(10, 10, 450, 800);//设置打印区域
pa.setPaper(p);

pj.setPrintable(this,pa);
pj.print();
}catch(Exception e){}
}
public int print(Graphics g, PageFormat pf, int page) throws PrinterException
{
Graphics2D g2 = (Graphics2D)g;

g2.translate(pf.getImageableX(), pf.getImageableY());

g2.clip(new Rectangle2D.Double(0,0,pf.getImageableWidth(),
pf.getImageableHeight()));

g2.setPaint(Color.black);

g2.draw(你的JTextArea.GetText());
if (page >=Integer.parseInt(你的JTextField.getText()))
return Printable.NO_SUCH_PAGE;

return Printable.PAGE_EXISTS;
}
}
试试吧,希望对你有所帮助
lixiang823517 2004-01-07
  • 打赏
  • 举报
回复
楼上的朋友,不连打也可以,您现在能给我一个打印一张的代码吗?
jtextarea中是一个string
点击Jbutton,用打印机打印出jtextarea中的内容,只打印一张!
谢谢
老土豆T 2004-01-07
  • 打赏
  • 举报
回复
连打的好象不怎么容易实现

itext也许可以。查查看。

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧