本文整理汇总了Java中java.awt.Component.print方法的典型用法代码示例。如果您正苦于以下问题:Java Component.print方法的具体用法?Java Component.print怎么用?Java Component.print使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.awt.Component
的用法示例。
在下文中一共展示了Component.print方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: exportVectorGraphics
import java.awt.Component; //导入方法依赖的package包/类
private void exportVectorGraphics(String formatName, File outputFile) throws ImageExportException {
Component component = printableComponent.getExportComponent();
int width = component.getWidth();
int height = component.getHeight();
try (FileOutputStream fs = new FileOutputStream(outputFile)) {
switch (formatName) {
case PDF:
// create pdf document with slightly increased width and height
// (otherwise the image gets cut off)
Document document = new Document(new Rectangle(width + 5, height + 5));
PdfWriter writer = PdfWriter.getInstance(document, fs);
document.open();
PdfContentByte cb = writer.getDirectContent();
PdfTemplate tp = cb.createTemplate(width, height);
Graphics2D g2 = tp.createGraphics(width, height, new DefaultFontMapper());
component.print(g2);
g2.dispose();
cb.addTemplate(tp, 0, 0);
document.close();
break;
case SVG:
exportFreeHep(component, fs, new SVGGraphics2D(fs, new Dimension(width, height)));
break;
case EPS:
exportFreeHep(component, fs, new PSGraphics2D(fs, new Dimension(width, height)));
break;
default:
// cannot happen
break;
}
} catch (Exception e) {
throw new ImageExportException(I18N.getMessage(I18N.getUserErrorMessagesBundle(),
"error.image_export.export_failed"), e);
}
}
示例2: paintComponent
import java.awt.Component; //导入方法依赖的package包/类
/**
* Paints the current state (i.e. the state corresponding to the current
* phase) of the given component.
*
* @param g graphics context.
* @param comp component to paint.
*/
private void paintComponent(Graphics g, Component comp) {
Rectangle bounds = currentBounds(comp);
float alpha = currentAlpha(comp);
Graphics gg = g.create(bounds.x, bounds.y, bounds.width, bounds.height);
if (alpha != 1f) {
AlphaComposite alphaComposite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha);
((Graphics2D)gg).setComposite(alphaComposite);
}
comp.setBounds(bounds);
comp.validate();
// Intentionally using print instead of paint.
// Print doesn't use double buffering and it solves some mysterious
// problems with modified clip during painting of containers.
// BTW: animated transitions library also uses print()
if (comp instanceof JComponent) {
comp.print(gg);
} else {
java.awt.peer.ComponentPeer peer = FakePeerSupport.getPeer(comp);
if (peer != null) {
peer.paint(gg);
}
}
gg.dispose();
}
示例3: exportFreeHep
import java.awt.Component; //导入方法依赖的package包/类
private void exportFreeHep(Component component, FileOutputStream fs, VectorGraphics vg) {
vg.startExport();
component.print(vg);
vg.endExport();
vg.dispose();
}