gpt4 book ai didi

java - java中gui设计的问题

转载 作者:行者123 更新时间:2023-12-04 05:45:50 24 4
gpt4 key购买 nike

我正在设计一个 gui,它在面板上显示图像并有一个可以放大和缩小图像的 slider 。但问题是:我的图像被缩放但没有在滚动 Pane 内显示图像 滚动 Pane .

ImagePanel imageP = new ImagePanel("D:/ScannedImage1.jpg");
JSlider slid = (JSlider) evt.getSource();
float value = (float) slid.getValue();
imageP.setScale(value);
imagePanel.add(new JScrollPane(imageP), BorderLayout.CENTER);
imagePanel.validate();

代码为 imagePanel 类的 paintComponent 方法
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BICUBIC);
int w = getWidth();
int h = getHeight();
int imageWidth = image.getWidth();
int imageHeight = image.getHeight();
double x = (w - scale * imageWidth) / 2;
double y = (h - scale * imageHeight) / 2;
AffineTransform at = AffineTransform.getTranslateInstance (x, y);
at.scale(scale, scale);
g2.drawRenderedImage(image, at);

最佳答案

因为JScrollPane取决于客户的首选大小,您可能需要覆盖 getPreferredSize() ImagePanel的方法以反射(reflect)缩放大小的方式。

关于java - java中gui设计的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10702565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com