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를 무료로 생성하십시오.

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.
