1
Я хочу напечатать свой jpanel через термопринтер. Но когда я печатаю панель, шрифт вывода не совпадает с шрифтом панели. Панель имеет JLabels и изображения. Я отправил код ниже. Если вы можете помочь, я буду очень благодарен!Шрифт JPanel не соответствует выходному значению печати
public static class Printer implements Printable {
final Component comp;
public Printer(Component comp) {
this.comp = comp;
}
@Override
public int print(Graphics g, PageFormat format, int page_index)
throws PrinterException {
if (page_index > 0) {
return Printable.NO_SUCH_PAGE;
}
// get the bounds of the component
Dimension dim = comp.getSize();
double cHeight = dim.getHeight();
double cWidth = dim.getWidth();
// get the bounds of the printable area
double pHeight = format.getImageableHeight();
double pWidth = format.getImageableWidth();
double pXStart = format.getImageableX();
double pYStart = format.getImageableY();
double xRatio = pWidth/cWidth;
double yRatio = pHeight/cHeight;
Graphics2D g2 = (Graphics2D) g;
g2.translate(pXStart, pYStart);
g2.scale(xRatio, yRatio);
comp.paint(g2);
return Printable.PAGE_EXISTS;
}
}
Как это сделать? Поэтому у моих ярлыков на панели уже есть шрифты. – user3056791
У них есть набор шрифтов от L & F, но они не используют шрифт родительской панели – StanislavL
Как я могу изменить шрифты всех дочерних компонентов? – user3056791