0
Я использую API JFreechart для создания «Barchart». Я могу их сохранить, но как распечатать их с принтера из приложения Java GUI?График Java от принтера
Я использую API JFreechart для создания «Barchart». Я могу их сохранить, но как распечатать их с принтера из приложения Java GUI?График Java от принтера
В моем коде я использую следующий фрагмент. IStatisticsGraph
- это мой собственный интерфейс для создания статистики, поэтому это не важно для вас. В моем главном графическом интерфейсе есть кнопка для печати, которая вызывает эту функцию.
public class StatisticPage
implements Printable
{
private ChartPanel mChart = null;
public StatisticPage(ChartPanel oChart)
{
mChart = oChart;
}
public int print(Graphics g, PageFormat format, int pageIndex)
{
if(mChart == null)
return Printable.NO_SUCH_PAGE;
return mChart.print(g, format, pageIndex);
}
}
В MainGUI:
private void onPrint()
{
try
{
Object o = mStatisticSelectorBox.getSelectedItem();
if(o == null)
return;
IStatisticGraph gr = (IStatisticGraph)o;
StatisticPage page = gr.getPage();
if(page == null)
return;
PrinterJob prt = PrinterJob.getPrinterJob();
PageFormat pf0 = prt.defaultPage();
PageFormat pf1;
pf0.setOrientation(PageFormat.LANDSCAPE);
pf1 = prt.pageDialog(pf0);
if(pf1.equals(pf0) == true)
return;
Book book = new Book();
book.append(page, pf1);
prt.setPageable(book);
try
{
prt.print();
}
catch (PrinterException exception)
{
}
}
catch(Throwable e)
{
showError(e.getClass().getCanonicalName(), e.getLocalizedMessage(), e);
}
}
+1 для самого простого решения –
@Devolus, спасибо человеку !! – vijay