我刚开始学习使用Java Swing进行打印,所以如果这个问题很幼稚,请耐心等待。打印一些JPanels
我有一个相当复杂的布局,多个JPanel包含其他包含JLabel的JPanel。我想以某种方式在打印机上很好地打印。
我知道我可以在代表打印页面的Graphics2D对象上“绘画”,但这需要我单独定位每个对象。我希望能够使用Swing布局管理器来布局我的页面上的项目。一种方法是调用jp.paint(g2d)
,其中jp是JPanel,g2d是表示打印页面的Graphics2D对象。但是,据我所见,这只会打印出屏幕上实际可见的JPanel。如果JPanel不可见,则不会打印。
那么是否有任何方法来布局一个(相当复杂的)JPanel并将其发送到打印机,而不必先在计算机屏幕上显示JPanel?
还是我在一个完全错误的轨道在这里?
这将帮助你 - > http://docs.oracle.com/javase/tutorial/2d/printing/gui.html – Java42 2012-03-26 15:38:16
不,据我所知,这是谈论打印一个可见的对象。我想打印一个看不见的物体。 – oz1cz 2012-03-28 18:40:24
构建要打印的面板时,请执行pack(),但不要设置可见(true),并且面板将打印而不显示在屏幕上。试一试。 – Java42 2012-03-28 19:39:38