Java Applet을 작성 중이며 CardLayout 패널 중 하나에 BorderLayout.CENTER
의 GridLayout이 TextFields를 가로 및 세로로 늘리고 있습니다 (부품 사이의 세로 간격을 설정할 수 있기 때문에 괜찮습니다). 그리드의). TextField가 너무 넓어지는 것을 막을 수 있으며 텍스트를 가운데에 배치 할 수 있습니까?Java Applet, GridLayout TextFields 수평 확장
0
A
답변
3
JPanel을 사용하여 다른 FlowLayout 내부에 JTextField 포함 JPanels를 중첩하는 것을 고려하십시오. 이 방식으로 JPanel을 사용하는 FlowLayout은 int col 속성을 설정 한 것에 따라 JTextFields 크기가 조정되는 동안 늘어납니다. JPanel을 사용하는 중첩 FlowLayout이 자식 JPanel의 preferredSize보다 작 으면 비참하게 실패합니다.
* "'BorderLayout.CENTER' .. TextField가 너무 넓어지는 것을 막을 수 있습니까? (*) 대신 'BorderLayout.LINE_START' 또는'BorderLayout.LINE_END'에 넣으십시오. 패널은 가장 넓은 열에 지정된대로 넓게 펼쳐지지만 패널의 전체 높이가 있습니다 ('PAGE_START' 및'PAGE_END' 미만). –
@AndrewThompson PAGE_END는 수직 스트레칭을 중단했지만 텍스트 필드는 애플릿에서 훨씬 낮게 나타납니다. 나는 이것으로 해결할지도 모른다. 감사. – Tony