2009-02-27 7 views

답변

5

텍스트 필드가 잘 작동 할 것이다. 그러나 EAST 또는 WEST에 삽입하면 작동하지 않습니다.

import java.awt.BorderLayout; 

import javax.swing.JFrame; 
import javax.swing.JTextField; 


public class TextFieldTest { 
    public static void main(String[] args) { 
     JFrame f = new JFrame(); 
     f.setLayout(new BorderLayout()); 
     JTextField tf = new JTextField(); 
     f.getContentPane().add(BorderLayout.EAST, tf); 
     f.pack(); 
     f.setVisible(true); 
    } 
} 

내 질문에 답 : BorderLayout이어야하거나 다른 레이아웃 관리자를 사용할 수 있습니까? 가능한 경우, GridBagLayout을 체크하여 요소를 자동으로 확장 (가중치 사용)하여 전체 컨테이너에 맞출 수있게해야합니다.

+0

투표를하지 않고 답변을 받았습니까? Niiiice! 여기 – Ascalonian

+3

, 보트를 타다. –

0

가 자동 컨테이너의 폭에 기입되며, 예를 도시 :

위의 예에서
import java.awt.BorderLayout; 

import javax.swing.JFrame; 
import javax.swing.JTextField; 


public class TextFieldTest { 
    public static void main(String[] args) { 
     JFrame f = new JFrame(); 
     f.setLayout(new BorderLayout()); 
     JTextField tf = new JTextField(); 
     f.add(tf, BorderLayout.SOUTH); 
     f.pack(); 
     f.setVisible(true); 
    } 
} 
+0

EDT에서 스윙 구성 요소를 사용하지 마십시오! –

1

Swing으로 프로그래밍 할 때 중요한 것은 좋은 레이아웃 관리자를 사용하는 것입니다. 나를 위해 완벽한 레이아웃 관리자는 MigLayout입니다. 이것은 단순히 모든 레이아웃 요구에 가장 적합한 원 스톱 솔루션입니다. 그들의 사이트는 훌륭한 문서와 예제를 제공합니다.

2

전체 컨테이너를 채우시겠습니까? BorderLayout으로?

container.add(jTextField, BorderLayout.CENTER); 

간단합니다.

관련 문제