현재 프로젝트에서는 JTable 기반 GUI를 작성하고 있습니다. 주요 특징 중 하나는 시간에 따라 변하는 내용에 따라 런타임에 모든 셀의 크기를 조정하는 기능입니다. 응용 프로그램이 시작될 때 현재 모든 셀의 높이와 너비가 같습니다. 나는 그것을 더 정교한 접근법으로 바꾸고 싶다. "콘텐츠"가 적절히 표시되는 데 필요한 공간을 어떻게 든 결정할 수 있는지 궁금합니다. 빈 공간이나 무언가를 자르지 않고 말입니다.JComponent의 다른 서브 클래스에 필요한 표시 공간의 계산
"내용"은 우선 순위를 나타내는 문자열입니다. 그것은 데이터베이스에서로드되고 그것에 대해 어떠한 가정도 할 수 없습니다. null 일 가능성이 있습니다. 이 경우 해당 셀의 모든 기본 크기가 있어야합니다.
장기적으로 사진, 비디오 등 모든 종류의 콘텐츠가 표시됩니다.
문자열의 길이를 계산하기 위해 FontMetrics를 사용해 보았습니다. 하지만 JTextPanes를 사용하여 표시하기 때문에 정확하게 작동하지 않습니다. 때로는 줄이 채워지지 않기 때문에 JTextPanes 자동 줄 바꿈과 관련이 있다고 생각합니다. 이것은 나의 계산을 망쳐 놓는다.
짧은 이야기 : 위에 설명 된 기능을 구현하려면 디자인 가이드 라인이 필요합니다. 나는 당신들 중 한 명은 똑똑한 사람이 그것을하는 법을 압니다. 사전에
감사합니다, DeKay는
귀하의 정확한 문제, 계산 또는 표시는 무엇입니까? 주어진 행의 높이 또는 주어진 열의 위젯을 사용자 정의하고 싶습니까? –
문제는 필요한 공간을 계산하는 것입니다. 셀의 두 치수를 사용자 정의하고 싶습니다.사용자는 셀을 클릭 할 수 있어야하며 셀은 더 커야합니다. 이 모든 것은 이미 구현되어 있습니다. 그래서 다시 문제는 어떻게 세포가 "커다란"것인지를 결정하는 방법입니다. – user402026
그리고 셀의 크기는 셀의 문자열 내용에만 의존합니다. 맞습니까? –