Java 尝试打印没有边框的图像
大家好!我只是想在屏幕上打印一张没有任何边框的图像。我认为,这段代码应该将图像打印到屏幕上;等待两秒钟,然后将其处理掉。我做错了什么Java 尝试打印没有边框的图像,java,image,file,file-io,rendering,Java,Image,File,File Io,Rendering,大家好!我只是想在屏幕上打印一张没有任何边框的图像。我认为,这段代码应该将图像打印到屏幕上;等待两秒钟,然后将其处理掉。我做错了什么 B.T.W我没有收到任何错误,程序只会保持活动状态2秒钟,然后就会消失。您的图像在JLabel中。如果JLabel所在的框架未显示,为什么要在屏幕上打印 您已将框架设置为未装饰。设置在框架上可见,将起作用 最后不需要图形部分,而且忘记调用setVisible(true) 好的,我如何纠正这个问题,我应该使用什么组件?编辑答案。我以前没有使用setUndecorat
B.T.W我没有收到任何错误,程序只会保持活动状态2秒钟,然后就会消失。您的图像在JLabel中。如果JLabel所在的框架未显示,为什么要在屏幕上打印 您已将框架设置为未装饰。设置在框架上可见,将起作用 最后不需要图形部分,而且忘记调用setVisible(true)
好的,我如何纠正这个问题,我应该使用什么组件?编辑答案。我以前没有使用
setUndecorated(true)
。在frame.pack()之后调用frame.setVisible(true)
public class Main{
public static void main(String []args){
JLabel c=new JLabel();
c.setIcon(new ImageIcon("picture.png"));
JFrame frame = new JFrame();
frame.setBackground(Color.WHITE);
frame.setUndecorated(true);
frame.getContentPane().add(c);
frame.pack();
BufferedImage bi = new BufferedImage(c.getWidth(), c.getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D graphics = bi.createGraphics();
c.print(graphics);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
graphics.dispose();
frame.dispose();
}
}
public class Main{
public static void main(String []args){
JLabel c=new JLabel();
c.setIcon(new ImageIcon("picture.png"));
JFrame frame = new JFrame();
frame.setBackground(Color.WHITE);
frame.setUndecorated(true);
frame.getContentPane().add(c);
frame.pack();
frame.setVisible(true);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
frame.dispose();
}
}