为什么img.getHeight(null)和img.getWidth(null)总返回-1?图片可以正常画出
public class FrameGame extends JFrame{
PanelGame pe=null;
public FrameGame(){
//设置标题
this.setTitle("java俄罗斯方块");
//设置大小
this.setSize(1200, 700);
//定义让窗体居于显示器中间显示
Toolkit toolkit=Toolkit.getDefaultToolkit();
Dimension screen= toolkit.getScreenSize();
int h=(int)screen.getHeight();
int w=(int)screen.getWidth();
this.setLocation((w-this.getWidth())/2, (h-this.getHeight())/2);
//将PanelGame面板对象添加到窗体中
pe=new PanelGame();
this.add(pe);
//定义不允许改变窗体大小
//this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
package main;
import ui.FrameGame;
public class Main {
public static void main(String[] args){
new FrameGame();
}
}
package ui;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class PanelGame extends JPanel{
private Lay lay1=new Lay(32,32,128,256);
public PanelGame(){
}
@Override
public void paintComponent(Graphics g){
lay1.createWindow(g);
}
}
package ui;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
public class Lay {
private static final int SIZE=7;
Image img=Toolkit.getDefaultToolkit().getImage("graphics/window/Window.png");
int picW=img.getWidth(null);
int picH=img.getHeight(null);
/*窗口左上角x坐标
* */
private int x;
/*窗口左上角y坐标
* */
private int y;
/*窗口宽度
* */
private int w;
/*窗口高度
* */
private int h;
public Lay(int x, int y, int w, int h) {
this.x = x;
this.y = y;
this.w = w;
this.h = h;
}
public void createWindow(Graphics g){
g.drawImage(img, 0, 0, null);
System.out.println(picW);
System.out.println(picH);
}
}
PanelGame pe=null;
public FrameGame(){
//设置标题
this.setTitle("java俄罗斯方块");
//设置大小
this.setSize(1200, 700);
//定义让窗体居于显示器中间显示
Toolkit toolkit=Toolkit.getDefaultToolkit();
Dimension screen= toolkit.getScreenSize();
int h=(int)screen.getHeight();
int w=(int)screen.getWidth();
this.setLocation((w-this.getWidth())/2, (h-this.getHeight())/2);
//将PanelGame面板对象添加到窗体中
pe=new PanelGame();
this.add(pe);
//定义不允许改变窗体大小
//this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
package main;
import ui.FrameGame;
public class Main {
public static void main(String[] args){
new FrameGame();
}
}
package ui;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class PanelGame extends JPanel{
private Lay lay1=new Lay(32,32,128,256);
public PanelGame(){
}
@Override
public void paintComponent(Graphics g){
lay1.createWindow(g);
}
}
package ui;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
public class Lay {
private static final int SIZE=7;
Image img=Toolkit.getDefaultToolkit().getImage("graphics/window/Window.png");
int picW=img.getWidth(null);
int picH=img.getHeight(null);
/*窗口左上角x坐标
* */
private int x;
/*窗口左上角y坐标
* */
private int y;
/*窗口宽度
* */
private int w;
/*窗口高度
* */
private int h;
public Lay(int x, int y, int w, int h) {
this.x = x;
this.y = y;
this.w = w;
this.h = h;
}
public void createWindow(Graphics g){
g.drawImage(img, 0, 0, null);
System.out.println(picW);
System.out.println(picH);
}
}
...全文
相关推荐
Java实现图片旋转、指定图像大小和水平翻转
(), bufferedimage.getHeight(), null); graphics2d.dispose(); return img;}在上面的代码中,我们首先获取图片的类型,然后创建一个新的BufferedImage
java 在图片上写字,两个图片合并的实现方法
y) { int w1 = img1.getWidth(); int h1 = img1.getHeight(); int w2 = img2.getWidth(); int h2 = img2.getHeight
java图片色阶调整和亮度调整代码示例
, imgsrc.getHeight(), BufferedImage.TYPE_INT_RGB); int width = imgsrc.getWidth(); int height = imgsrc.getHeight
java 操作图片,往图片写字,将多图片合并
= 0; int maxHeigth = 0; // 计算总宽度和最大高度 for (BufferedImage img : images) { totalWidth += img.getWidth(
给图片加边框2
在图像处理领域,给图片添加边框是一种常见的操作,它能增强图像的视觉效果,或者用于区分不同的图片。本文将详细讲解如何给图片加边框,包括基本概念、常用工具和编程实现方法。1.


Java SE
