저는 스크린 샷을 다루는 작은 자바 응용 프로그램을 만들고 있습니다. 이미지를 보유하고있는 ScreenshotPanel이라는 JPanel에서 상속 한 사용자 정의 클래스가 있으며이 클래스는 JScrollPane 내부에 있습니다. 프레임의 크기가 변경되면 ScrollPane이 이동하고 크기가 조정됩니다. 확대/축소 부분을 제외한 모든 부분이 잘 작동하지만 ScrollPane 내부의 screenshotPanel 크기를 조정할 수 있기를 원하지만 screenshotPanel의 크기가 조정되지 않고 잠시 동안 오른쪽 크기로 깜박이지 만 다시 크기가 조정됩니다. ScrollPane 크기입니다.JScrollPane과 그 내용의 크기를 적절히 조절합니다.
ScrollPane을 사용하지 않고 screenshotPanel을 사용하면 제대로 작동하지만 스크롤러가 자동으로 추가되어 확대 된 이미지를 볼 수 있습니다. ,
double AR=((double)screenshotPanel.getImage().getHeight())/screenshotPanel.getImage().getWidth();
screenshotPanel.setSize((int)((getWidth()-180)*zoomFactor), (int)((AR*(getWidth()-180)-100)*zoomFactor));
scrollPane.setSize(getWidth()-180, (int)(AR*(getWidth()-180))-100);
-180 -100 버튼 및 줌 제어 componenets (모든 이동과 완벽하게 크기를 조정하는)의 공간을 유지하는 데 사용됩니다
는 여기에 크기를 조정하는 데 사용하는 코드의 일부이다 zoomFactor는 확대 할 양을 유지하는 이중입니다.
ScrollPane을 사용하지 않고 ScreenshotPanel의 크기를 다시 조정하려면 어떻게해야합니까?
깜빡 거림이 JViewport의 또는 JScrollBars 또는 테두리 또는 다른 ???에서 발생), 모든 만 촬영이있을 것 SSCCE가없는 어둠 – mKorbel
질문이 있으시면 JLabel에서 ImageIcon을 사용 하시거나 BuferrefedImage 또는 scaledInstance (단순히 비동기식) – mKorbel
을 사용하셨습니까? 제가 언급 했어야 할 것이 있습니다. screenshotPanel의 이미지에 BufferedImage를 사용하고 있습니다. – Bob