JFrame은 크기를 조정할 때 동일한 창 종횡비를 유지합니다.
PHP 편집자 Zimo가 이번 Java Q&A 호를 가져왔습니다. JFrame의 크기를 조정할 때 동일한 창 가로 세로 비율을 유지하는 방법에 대해 논의하겠습니다. JFrame은 Java에서 일반적으로 사용되는 창 구성 요소이지만 크기를 조정할 때 종횡비를 유지하는 것은 항상 개발자의 관심사였습니다. 이 글에서는 이 딜레마를 해결하는 데 도움이 되는 몇 가지 실용적인 방법과 팁을 공유하겠습니다. 뛰어 들어보세요!
질문내용
저는 Linux gnome을 개발하고 있습니다.
창을 16:9 비율로 유지하고 싶습니다. 예를 들어 너비의 크기를 조정하면 코드는 높이만 수정하므로 사용자 입력은 건드리지 않습니다.
이 방법을 사용하면 창 크기가 원래 크기 이상으로 조정됩니다. 예를 들어 너비를 약간 조정했지만 높이는 예상보다 훨씬 큽니다.
import java.awt.Color; import java.awt.Dimension; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import javax.swing.JFrame; import javax.swing.JPanel; public class Main { public static void main(String[] args) { JPanel panel = new JPanel(); panel.setPreferredSize(new Dimension(1280, 720)); panel.setBackground(new Color(89, 108, 171, 255)); JFrame frame = new JFrame("Test"); frame.setLocation(100, 100); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(panel); frame.pack(); frame.setVisible(true); panel.addComponentListener(new ComponentAdapter() { @Override public void componentResized(ComponentEvent e) { int targetWidth = frame.getSize().width; int targetHeight = frame.getSize().width * 9 / 16; if (targetHeight > frame.getSize().height) { targetHeight = frame.getSize().height; targetWidth = frame.getSize().height * 16 / 9; } frame.setSize(targetWidth, targetHeight); } }); } }
Solution
내 생각은 다음과 같습니다.
으아악이렇게 하면 사용자가 조정하는 값이 변경되지 않습니다. (프레임 크기) 변경 사항에 응답하고 패널이 여전히 올바른 크기인지 확인합니다.
위 내용은 JFrame은 크기를 조정할 때 동일한 창 종횡비를 유지합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제







