Java 将ImageIcon设置为全屏
我制作了一个Board类,其中我使用ImageIcon导入一个图像,而不是制作具有指定分辨率的图片,我希望它对于任何类型的显示器都是全屏的Java 将ImageIcon设置为全屏,java,image,swing,imageicon,Java,Image,Swing,Imageicon,我制作了一个Board类,其中我使用ImageIcon导入一个图像,而不是制作具有指定分辨率的图片,我希望它对于任何类型的显示器都是全屏的 public Board() { p = new Dude(); addKeyListener(new AL()); setFocusable(true); ImageIcon i = new ImageIcon("C:/test.jpg"); img = i.getImage
public Board() {
p = new Dude();
addKeyListener(new AL());
setFocusable(true);
ImageIcon i = new ImageIcon("C:/test.jpg");
img = i.getImage();
time = new Timer(5, this);
time.start();
}
我以前使用过此代码:
public class MainMenu2 {
MainMenu2() throws IOException{
JFrame Main_Menu = new JFrame("Main Menu");
Main_Menu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
final int widthScreen = screenSize.width;
final int heightScreen = screenSize.height;
BufferedImage backgroundImage = ImageIO.read(new File("P://My Pictures//background1.jpg"));
JLabel background = new JLabel(new ImageIcon(backgroundImage));
Image scaleBackground = backgroundImage.getScaledInstance(widthScreen, heightScreen, Image.SCALE_SMOOTH);
ImageIcon imageIcon = new ImageIcon(scaleBackground);
Main_Menu.setContentPane(new JLabel(imageIcon));
它使用“缩放平滑”,将图像设置为屏幕宽度和高度,但我不知道如何将其应用到当前代码中。两者之间的区别在于,Board类扩展了JPanel,而MainMenu2只是一个普通类,其中创建了JFrame等等。请帮助!谢谢。在最基本的层面上,它可能看起来像这样
ImageIcon i = ImageIO.read(new File("C:/test.jpg"));
Image scaleBackground = backgroundImage.getScaledInstance(widthScreen, heightScreen, Image.SCALE_SMOOTH);
img = scaleBackground.getImage();
现在,问题来了——组件的大小不太可能与屏幕的大小相匹配
作为一种偏好,我可能会尝试做类似的事情
您还应该阅读您可以使用。它将根据可用空间动态调整大小。在我的代码中,我不使用scaleBackground,为什么要应用它?scaleBackground用于另一个不适用于我当前的代码示例,当类扩展JPanel时,我如何将iage设置为全屏?@Dennis首先-我将两个示例合并-因此,如果您尝试,您可以直接将其应用于您的
JPanel
示例。第二,你也可以看看我的答案中的链接。在某个时候,您将使用这些示例并将其应用到您自己的工作流中