2014-11-25 1 views
0

예 ..사용자가 여러 개의 텍스트 필드를 표시하여 각각 몇 개의 항목을 입력 할 수 있습니까?

Milk [ text field ] 

    Eggs [ text field ] 

    Yogurt [ text field ] 

    Chicken[ text field ] 

나는 창으로 하나 이상의 텍스트 상자를 추가하는 시도를하고 있어요,하지만 난 JTextBox 여러 줄을 지원하지 않는다는 것을 깨닫게했습니다.

식료품 점과 비슷한 여러 항목을 표시하는 파일을 만든 다음 사용자가 원하는 항목을 원하는 개수만큼 입력 할 수 있으며 그 수는 합계에 추가됩니다.

유일한 방법은 지금까지이 작업을 수행 할 수 있었지만 JCheckBox입니다.하지만 그것은 끔찍한 일이며, 가능하다면 위와 같은 방법으로 수행하십시오.

P. 나는 JTextArea을 보았지만 단락 형태와 같이 사용자가 자유롭게 쓸 수있는 것처럼 보입니다.

+0

* "하지만 JTextBox가 다중 행을 지원하지 않는다는 사실을 깨닫게되었습니다."* J2SE에는 그러한 클래스가 없으므로 놀랄 일이 아닙니다. DYM'JTextField'? * "JTextArea"를 보았지만 단락 형태와 같이 자유롭게 쓸 수있는 것처럼 보입니다. "* 나는 이해하지 못합니다. –

+0

양식에 텍스트 상자를 추가하려면 왜 단일 텍스트 상자에 줄이 더 필요합니까? – Seunhaab

+0

하나 이상의 텍스트 필드를 추가 할 이유가 없습니다. 각 항목에 하나씩 추가하십시오 (예 : 우유, 달걀 등). – forgivenson

답변

1

네, 그것은 가능하다, 그러나 당신은 JLabels 및 JTextbox이 나타납니다이 다른 서로의 상단에 나타납니다 레이아웃을 설정해야합니다 .. 은 (레이아웃에 대한 자세한는 여기에서 찾을 수 있습니다 : - https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html) I 내 패널의 레이아웃을 4 행 2 열로 사용했습니다.

JPanel panel = new JPanel(); 
GridLayout gl = new GridLayout(4,2); // 4 rows, 2 columns 
panel.setLayout(gl); 

지금

JLabel lblMilk = new JLabel("MILK"); 
JTextbox txbMilk = new JTextbox(); 
panel.add(lblMilk); 
panel.add(txbMilk); 
JLabel lblEggs = new JLabel("EGGS"); 
JTextbox txbEggs = new JTextbox(); 
panel.add(lblEggs); 
panel.add(txbEggs); 

는 다음 프레임에 패널을 추가 (왼쪽에서 오른쪽으로)마다 레이블 및 텍스트 상자를 추가합니다.

+0

고마워, 필자는 하루 종일 갔고 결국 그것을 알아 냈다. 잘 가깝다. 완전한! – alwaysLearning

+0

gridlayout을 사용하면 텍스트 상자가 공간을 채우기 위해 늘어납니다. https://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html#constructors – alwaysLearning

+0

@BobbyII gridlayout과 같은 형식으로 보았습니다. 예를 들어 다른 레이아웃을 사용할 수 있습니다. 표 레이아웃은 표 형식과 유사합니다. 내 대답은 – Joseph118

관련 문제