欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

java长宽_Java:如何控制JPanel长宽比?

发布时间:2025/3/21 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java长宽_Java:如何控制JPanel长宽比? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

您可以使用GridBagLayout和ComponentListener,

public class AspectRatio {

public static void main(String[] args) {

final JPanel innerPanel = new JPanel();

innerPanel.setBackground(Color.YELLOW);

final JPanel container = new JPanel(new GridBagLayout());

container.add(innerPanel);

container.addComponentListener(new ComponentAdapter() {

@Override

public void componentResized(ComponentEvent e) {

resizePreview(innerPanel, container);

}

});

final JFrame frame = new JFrame("AspectRatio");

frame.getContentPane().add(container);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(600, 600);

frame.setVisible(true);

}

private static void resizePreview(JPanel innerPanel, JPanel container) {

int w = container.getWidth();

int h = container.getHeight();

int size = Math.min(w, h);

innerPanel.setPreferredSize(new Dimension(size, size));

container.revalidate();

}

}

总结

以上是生活随笔为你收集整理的java长宽_Java:如何控制JPanel长宽比?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。