「java窗口图片放中间」java在窗口显示图片

博主:adminadmin 2023-01-06 04:42:05 877

今天给各位分享java窗口图片放中间的知识,其中也会对java在窗口显示图片进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA~怎么把1个图放在正中间。。。

//滚动滚轮进行放大缩小。

import java.awt.BorderLayout;

import java.awt.Dimension;

import java.awt.EventQueue;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.Toolkit;

import java.awt.event.MouseWheelEvent;

import java.awt.event.MouseWheelListener;

import javax.swing.JComponent;

import javax.swing.JFrame;

public class ScaleImageTest extends JFrame {

public ScaleImageTest() {

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setSize(500, 400);

Image image = Toolkit.getDefaultToolkit().getImage("disk.jpg");//TODO:改成你自己的图片。

panel = new ScaleImagePanel(image, 1);

this.add(panel, BorderLayout.CENTER);

this.addMouseWheelListener(new MouseWheelListener() {//TODO:改成你自己期望的事件监听器。

@Override

public void mouseWheelMoved(MouseWheelEvent e) {

int rotation = e.getWheelRotation();

System.out.println(rotation);

double newpro=panel.getProportion()+INC*rotation;

if(newproScaleImagePanel.MIN_PRO||

newproScaleImagePanel.MAX_PRO)

return;

panel.setProportion(newpro);

}

});

}

private static final double INC = 0.25;

private ScaleImagePanel panel;

public static final class ScaleImagePanel extends JComponent {

public ScaleImagePanel(Image image, int proportion) {

this.setImage(image);

this.setProportion(proportion);

}

public double getProportion() {

return proportion;

}

public void setProportion(double proportion) {

if (proportion MIN_PRO || proportion MAX_PRO)

throw new IllegalArgumentException("Proportion must be in [ "

+ MIN_PRO + ", " + MAX_PRO + "]");

this.proportion = proportion;

this.validate();

this.repaint();

}

public Image getImage() {

return image;

}

public void setImage(Image image) {

this.image = image;

}

@Override

public Dimension getPreferredSize() {

return new Dimension((int) (image.getWidth(this) * proportion),

(int) (image.getHeight(this) * proportion));

}

@Override

protected void paintComponent(Graphics g) {

Dimension size = getSize();

Dimension presize = getPreferredSize();

int x = (size.width - presize.width) / 2;

int y = (size.height - presize.height) / 2;

g.drawImage(image, x, y, presize.width, presize.height, this);

}

private double proportion = 1;

private Image image;

private static final double MAX_PRO = 8;

private static final double MIN_PRO = 0.25;

}

/**

* @param args

*/

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

new ScaleImageTest().setVisible(true);

}

});

}

}

java中用什么方法让图片居中

Swing中通过Toolkit类获取屏幕分辨率,在根据屏幕分辨率和你的图片大小计算出你的图片的左上角的坐标。

核心代码:

Toolkit kit = Toolkit.getDefaultToolkit();

Dimension screenSize = kit.getScreenSize();

int screenWidth = screenSize.width;

int screenHeight = screenSize.height;

java用面板绘图时,改变窗口大小时怎么样才能使图片始终显示在中间的位置,

override方法repaint,使每次改变大小的时候都重绘窗口,也就是调整图片位置在面板中间

关于java窗口图片放中间和java在窗口显示图片的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。