구성 요소가 컨테이너에서 자체적으로 가질 수있는 영역을 결정하는 방법이 있습니까?구성 요소가 잠재적으로 확장 될 수있는 영역의 크기 결정
나는 MigLayout을 사용하고 있습니다. 컨테이너에 추가 된 두 개의 구성 요소 인 JPanel
및 JSlider
이 있다고 가정 해보십시오. JSlider는 컨테이너의 남쪽에 도킹되어 있으며 컨테이너의 크기를 조정할 때 가로로 커지거나 작아집니다. JPanel의 초기 크기는 100x100입니다. 이 시나리오에서 JPanel은 JSlider가 차지하는 영역을 제외하고 컨테이너가 가지고있는 모든 영역을 가질 수 있습니다. 따라서 컨테이너가 400x400 인 경우 JPanel 은 슬라이더의 높이가 16이고 완전히 확장 된 경우 크기가 400x384 인이 될 수 있습니다.
어쨌든 panel.getSize()
으로 전화하면 100x100이됩니다. 구성 요소가 일 수있는 영역의 크기를 얻을 수있는 방법이 있는지 알고 싶습니다. 확장 할 수 있습니다. 따라서이 경우 400x384의 크기를 얻으려는 작업을하고 싶습니다. 그림
: 검은 윤곽이 컨테이너을 표시 여기
, 흰색은 누구의 사용 가능한 공간이 난 구성 요소 사용되지 않는 공간, 빨간색 표시된와 슬라이더과 파란색 마크를 표시 결정하려고 노력한다.
왜 사용 가능한 공간을 알아야합니까? 사용자 정의 구성 요소는 필요한 모든 공간을 요청하고 레이아웃 관리자가 공간을 할당하도록해야합니다. – camickr
@camickr 가로 세로 비율을 유지하기 위해 jpanel의 크기를 수동으로 조정하고 있습니다. –
@camickr 그러나이 질문의 핵심은 아닙니다. 나는 무엇이든지 묻고있는 것이 가능하다는 것을 알고 싶다. –