2014-07-22 8 views
1

저는이 모든 것을 처음 접했지만 다음과 같은 결과를 얻는 방법을 알아 내려고합니다. (이제는 서로 다른 메시지 대화 상자에 표시됨) 하나의 메시지 대화 상자 창에 표시됩니다.단일 JOptionPane 메시지 대화 상자에 여러 개의 if 루프 결과를 추가하는 방법은 무엇입니까?

JOptionPane.showMessageDialog(null, "De prijs per persoon is €" + part + "."); 

    if (fnum > part){ 
     JOptionPane.showMessageDialog(null, fname + " krijgt €" + (fnum - part) + " terug."); 
    } 
    else if (fnum < part) { 
     JOptionPane.showMessageDialog(null, fname + " moet nog €" + (part - fnum) + " betalen."); 
    } 
    else { 
     JOptionPane.showMessageDialog(null, fname + " heeft alles betaald."); 
    } 


    if (snum > part){ 
     JOptionPane.showMessageDialog(null, sname + " krijgt €" + (snum - part) + " terug."); 
    } 
    else if (snum < part) { 
     JOptionPane.showMessageDialog(null, sname + " moet nog €" + (part - snum) + " betalen."); 
    } 
    else { 
     JOptionPane.showMessageDialog(null, sname + " heeft alles betaald."); 
    } 


    if (tnum > part){ 
     JOptionPane.showMessageDialog(null, tname + " krijgt €" + (tnum - part) + " terug."); 
    } 
    else if (tnum < part) { 
     JOptionPane.showMessageDialog(null, tname + " moet nog €" + (part - tnum) + " betalen."); 
    } 
    else { 
     JOptionPane.showMessageDialog(null, tname + " heeft alles betaald."); 
    } 
+1

각 루프에 OptionPane을 만드는 대신 각 루프에 OptionPane을 만드는 것뿐입니다. 그런 다음 모두 완료되면 방금 작성한 문자열로 단일 OptionPane을 작성하십시오. – csmckelvey

+0

@Takendarkk 오, 와우. 감사! 나는 당신이 상관하지 않는다면 비록 하나의 후속 질문을 가지고 있습니다. 나는 각 줄 (fstring, sstring & tstring)에 문자열을 만들었지 만 어떻게하면 OptionPane 창에서 서로 아래에 놓을 수 있습니까? 나는 이것을했다 : JOptionPane.showMessageDialog (null, "persoon per persoon은"+ 부분 + "입니다."+ fstring + sstring + tstring); 하지만 긴 행으로 서로 옆에 놓습니다. –

+0

다음과 같이 시도하십시오. ""Per persun per persoon은 "+ part +"입니다. " + fstring + "\ n"+ sstring + "\ n"+ tstring);'문자열 변수에 \ n "'를 추가했습니다. 이것은 개행 문자라고 불리는 것입니다. 그것이 효과가 있을지 확실하지 않지만, 당신이 시도하기 쉽습니다. 모든 것이 효과가 있다면 알려주세요. 나는 받아 들일 수있는 대답을 입력 할 것입니다. – csmckelvey

답변

2

각 if 문 안에 JOptionPane을 만드는 대신 끝에 하나만 있으면됩니다. if 문은 표시 할 문자열을 결정하는 것이므로 내부에 작성해야하는 유일한 정보입니다. 문자열 변수를 만들고 if 문에 포함 된 내용을 결정하여이 작업을 수행 할 수 있습니다. 그런 다음 문장이 실행되면 문자열이 포함 된 단일 JOptionPane을 만듭니다. 예를 들어 : 귀하의 의견으로 당

String temp; 

if (fnum > part) { 
    temp = fname + " krijgt €" + (fnum - part) + " terug."; 
} 
else if (fnum < part) { 
    temp = fname + " moet nog €" + (part - fnum) + " betalen."; 
} 
else { 
    temp = fname + " heeft alles betaald."; 
} 

JOptionPane.showMessageDialog(null, temp); 

- 당신이 문자열을 여러 줄에 배치 할 경우에 당신은 어디서나 당신이 새로운 라인으로 이동하려는 문자열로 "\n" 문자를 추가 할 수 있습니다.