gpt4 book ai didi

java swing不打印完整页面

转载 作者:行者123 更新时间:2023-12-02 06:26:02 24 4
gpt4 key购买 nike

import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.awt.print.*;
import javax.swing.*;
import javax.swing.table.JTableHeader;

class print implements ActionListener,KeyListener,Printable
{
JTable table,stable;
JTable footer = new JTable(1,6);
JTable table2= new JTable(11,2);;
JPanel panel,panell;
String data[][] = new String[100][6];
JLabel labelf[]=new JLabel[7];
JFrame f;
public static void main(String[] args)
{
new print();
}
print()
{
f = new JFrame("Bill Invoice......");
f.setLayout(null);
JButton jbe = new JButton("Back");
//jbe.setFont(labfont3);

// labfont=new Font("Kunstler Script",Font.BOLD,40);
JLabel la1=new JLabel("SOLD TO :");
JLabel la2=new JLabel("PROFORMA INVOICE");
Font l1=new Font("Times New Roman",Font.BOLD,15);
Font l2=new Font("Times New Roman",Font.BOLD,18);
//Font l3=new Font("Times New Roman",Font.BOLD,15);
la1.setForeground(new Color(138,10,178));
la2.setForeground(new Color(138,10,178));

ImageIcon ic2 = new ImageIcon("vv.jpg");
JLabel piclab2 = new JLabel(ic2);



JButton button = new JButton("Print");
JButton button1 = new JButton("Save");

JButton button2 = new JButton("Finish");
String[] columnheader = {"S.No.", "Description", "Bales Bags", "Weight in Kgs", "Price ", "Total" };
labelf[0]=new JLabel("txt10");
labelf[1]=new JLabel("txt11");
labelf[2]=new JLabel("txt111");
labelf[3]=new JLabel("txtt");
labelf[4]=new JLabel("txt12");
labelf[5]=new JLabel("txtx");
labelf[6]=new JLabel("txty");


table2.getColumnModel().getColumn(0).setPreferredWidth(200);
table2.getColumnModel().getColumn(1).setPreferredWidth(200);
table2.setRowHeight(20);
table2.getModel().setValueAt("INVOICE NO.",0,0);
table2.getModel().setValueAt("txt00",0,1);
table2.getModel().setValueAt("DATE",1,0);
table2.getModel().setValueAt(""+"currentTime",1,1);
table2.getModel().setValueAt("EXPORTRANS REF.",2,0);
table2.getModel().setValueAt("txtz",2,1);
table2.getModel().setValueAt("BOOKING NO.",3,0);
table2.getModel().setValueAt("txt22",3,1);
table2.getModel().setValueAt("CONTAINER NO.",4,0);
table2.getModel().setValueAt("txt33",4,1);
table2.getModel().setValueAt("SEAL NO.",5,0);
table2.getModel().setValueAt("txt44",5,1);
table2.getModel().setValueAt("VESSEL NAME",6,0);
table2.getModel().setValueAt("txt55",6,1);
table2.getModel().setValueAt("SHIPPING LINE",7,0);
table2.getModel().setValueAt("txt66",7,1);
table2.getModel().setValueAt("BILL OF LANDING NO.",8,0);
table2.getModel().setValueAt("txt77",8,1);
table2.getModel().setValueAt("IDF NO.",9,0);
table2.getModel().setValueAt("txt88",9,1);
table2.getModel().setValueAt("IO NO.",10,0);
table2.getModel().setValueAt("txt99",10,1);



table = new JTable(data,columnheader);
//table.setTableHeader(columnNames);


footer.getModel().setValueAt("Total",0,1);

JTableHeader header = table.getTableHeader();
panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.add(header, BorderLayout.NORTH);
panel.add(table, BorderLayout.CENTER);
panel.add(footer,BorderLayout.SOUTH);

table.getTableHeader().setReorderingAllowed(false);
table.setRowHeight(25);
footer.setRowHeight(25);
table.setShowGrid(false);
table.setShowVerticalLines(true);


JScrollPane pane = new JScrollPane(table);
table.getColumnModel().getColumn(0).setPreferredWidth(24);
table.getColumnModel().getColumn(1).setPreferredWidth(200);



//table.getModel().setValueAt(1,0,0);


table.getTableHeader().setPreferredSize(new Dimension(pane.getWidth(),35));

footer.getColumnModel().getColumn(0).setPreferredWidth(13);
footer.getColumnModel().getColumn(1).setPreferredWidth(190);
footer.getColumnModel().getColumn(2).setPreferredWidth(65);
footer.getColumnModel().getColumn(3).setPreferredWidth(65);
footer.getColumnModel().getColumn(4).setPreferredWidth(65);
footer.getColumnModel().getColumn(5).setPreferredWidth(82);

jbe.setBounds(0,0,105,30);
panel.setBounds(180,350,1000,290);
table2.setBounds(780,100,400,220);
panel.add(pane, BorderLayout.CENTER);

la1.setBounds(190,95,150,60);


int y=140;
for(int i=0;i<=6;i++)
{
labelf[i].setFont(l1);
labelf[i].setBounds(190,y,500,20);
y=y+20;
f.add(labelf[i]);
}
la2.setBounds(530,300,300,60);


button1.setBounds(1250,550,100,30);
button.setBounds(1250,600,100,30);
button2.setBounds(1250,650,100,30);

table.setFont(l1);
table2.setFont(l1);
footer.setFont(l1);
la1.setFont(l2);


la2.setFont(l2);

header.setFont(l1);
f.add(jbe);
f.add(la1);

f.add(la2);
f.add(button);
f.add(button1);
f.add(button2);

button.addActionListener(this);
button1.addActionListener(this);
button2.addActionListener(this);
jbe.addActionListener(this);



f.add(panel);
f.add(table2);

piclab2.setBounds(0,0,1366,768);
f.add(piclab2);

f.setSize(1366,768);
f.setVisible(true);

}

@Override
public void actionPerformed(ActionEvent arg0)
{

String s=arg0.getActionCommand( );

if (s.equals("Print"))
{

PrinterJob pj = PrinterJob.getPrinterJob();

PageFormat pf = pj.defaultPage();
Paper paper = new Paper();

paper.setImageableArea(50, 100, 400, 200);
pf.setPaper(paper);

pj.setPrintable(this, pf);

if (pj.printDialog())
{
try
{
pj.print();

}
catch (PrinterException pe)
{
System.err.println("Error printing: " + pe.getMessage());
}

}
}

}

@Override
public int print(Graphics g, PageFormat pf, int page) throws PrinterException
{
if (page > 0)
{
return (NO_SUCH_PAGE);
}

Graphics2D g2d = (Graphics2D)g;

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


Rectangle rec = f.getBounds();
BufferedImage snapshot = new BufferedImage(rec.width,rec.height,BufferedImage.TYPE_INT_ARGB);


//BufferedImage snapshot = AnimeUtilities.createSnapshotOfFrame(pf, Transparency.TRANSLUCENT);
double scaleX = pf.getWidth()/snapshot.getWidth();
double scaleY = pf.getHeight();///snapshot.getHeight();

double scaleValue = Math.min(scaleX, scaleY);
System.out.println(""+scaleValue);
g2d.scale(scaleValue+0.3, scaleValue+0.3);


table2.print(g2d);


return (PAGE_EXISTS);



}

@Override
public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub

}

@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub

}

@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub

}

}

我已经尝试了太多,但此代码仅打印页面的某些部分......我想打印整个页面......我不熟悉打印命令......确实如此有人有打印整页的想法...

最佳答案

更改按钮xy,使它们出现在表单

        button1.setBounds(100, 650, 100, 30);
button.setBounds(200, 650, 100, 30);
button2.setBounds(300, 650, 100, 30);

关于java swing不打印完整页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20515531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com