import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Point;
import javax.swing.JOptionPane;public class DoLine extends Applet {
int intSize;
int intDu;
int intBit;
int intX;
int intY;
Point pBegin;
Point pEnd;
double intTemp;
public void init()
{
intSize=Integer.parseInt(JOptionPane.showInputDialog("请输入长度(mm):"));
intDu=Integer.parseInt(JOptionPane.showInputDialog("请输入角度(度):"));
pBegin=new Point(10,10);
intBit =(int)Math.round(72/25.4*intSize);
intX = (int)Math.round(Math.cos(intDu* 3.1415926/180)*intBit);
intY = (int)Math.round(Math.sin(intDu* 3.1415926/180)*intBit);
pEnd = new Point(10+intX,10+intY);
}
public void paint(Graphics g)
{
g.drawLine(pBegin.x ,pBegin.y ,pEnd.x,pEnd.y);
g.drawString("Total Length : "+ intSize,pBegin.x,pEnd.y+20);
g.drawString("First Point : "+ pBegin.toString(),pBegin.x,pEnd.y+40);
g.drawString("End Point : "+ pEnd.toString(),pBegin.x,pEnd.y+60);
}
}
我想把g.drawLine直接打印出来,不出现打印机的设置对话框,打印属性为默认的,打印开始的时间和找印结束的时间。哪位兄弟帮帮我?
import java.awt.Graphics;
import java.awt.Point;
import javax.swing.JOptionPane;public class DoLine extends Applet {
int intSize;
int intDu;
int intBit;
int intX;
int intY;
Point pBegin;
Point pEnd;
double intTemp;
public void init()
{
intSize=Integer.parseInt(JOptionPane.showInputDialog("请输入长度(mm):"));
intDu=Integer.parseInt(JOptionPane.showInputDialog("请输入角度(度):"));
pBegin=new Point(10,10);
intBit =(int)Math.round(72/25.4*intSize);
intX = (int)Math.round(Math.cos(intDu* 3.1415926/180)*intBit);
intY = (int)Math.round(Math.sin(intDu* 3.1415926/180)*intBit);
pEnd = new Point(10+intX,10+intY);
}
public void paint(Graphics g)
{
g.drawLine(pBegin.x ,pBegin.y ,pEnd.x,pEnd.y);
g.drawString("Total Length : "+ intSize,pBegin.x,pEnd.y+20);
g.drawString("First Point : "+ pBegin.toString(),pBegin.x,pEnd.y+40);
g.drawString("End Point : "+ pEnd.toString(),pBegin.x,pEnd.y+60);
}
}
我想把g.drawLine直接打印出来,不出现打印机的设置对话框,打印属性为默认的,打印开始的时间和找印结束的时间。哪位兄弟帮帮我?
package doline;import java.applet.Applet;
import java.awt.Point;
import javax.swing.JOptionPane;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;public class DoLine extends Applet {
int intSize;
int intDu;
int intBit;
int intX;
int intY;
Point pBegin;
Point pEnd;
double intTemp;
public void init(){
intSize=Integer.parseInt(JOptionPane.showInputDialog("长度:"));
intDu=Integer.parseInt(JOptionPane.showInputDialog("角度:"));
pBegin=new Point(10,10);
intBit =(int)Math.round(72/25.4*intSize);
intX = (int)Math.round(Math.cos(intDu* 3.1415926/180)*intBit);
intY = (int)Math.round(Math.sin(intDu* 3.1415926/180)*intBit);
pEnd = new Point(10+intX,10+intY);
}
public void paint(Graphics g){
g.drawLine(pBegin.x ,pBegin.y ,pEnd.x,pEnd.y);
DoLine dl = new DoLine();
dl.printSelf(g);
}
public void printSelf(Graphics g) {
PrinterJob printerJob = PrinterJob.getPrinterJob(); if (printerJob.printDialog()) { try {
printerJob.setPrintable((Printable) this);
printerJob.print();
}
catch (PrinterException e) {
e.printStackTrace();
}
}
} public int print(Graphics g, PageFormat pf, int pageIndex) {
if (pageIndex == 0) {
Graphics2D g2d = (Graphics2D)g;
g2d.translate(pf.getImageableX(), pf.getImageableY()); g2d.setColor(Color.black);
g2d.drawString("page : " + pageIndex, 100, 100);
g2d.drawString("width : " + pf.getWidth(), 100, 130);
g2d.drawString("height : " + pf.getHeight(), 100, 160); g2d.drawString("iWidth : " + pf.getImageableWidth(), 100, 200);
g2d.drawString("iHeight: " + pf.getImageableHeight(), 100, 230);
g2d.drawString("clip : " + g.getClipBounds().toString(), 100, 270);
g2d.drawString("orient : " + pf.getOrientation(), 100, 310); return Printable.PAGE_EXISTS;
} else {
return Printable.NO_SUCH_PAGE;
}
}
}为什么打印机设置,总是在最前面?
如何让打印机打印paint里的直线?