2017-11-02 44 views
0

Java에 대한 수업을 시작하고 JOptionPane에 대해 배웠고 입력 대화 상자 창에서 사용자가 입력 한 값으로 일부 산술 연산을 수행했지만 다른 대화 상자 상자에 입력 한 다음 작업을 수행하고 메시지 상자에 출력을 사용자에게 표시합니다.Java JOptionPane 단일 입력으로 다중 입력 및 산술 연산

내가 알고 싶은 것은 하나의 상자에서 사용자의 모든 입력을 가져 와서 출력을 메시지 상자의 사용자에게 표시하는 방법입니다.

다음은 우리가 작업 한 예제의 코드입니다.

double ap = 0.3; 
    double op = 0.2; 
    double fp = 0.5; 


    String a = JOptionPane.showInputDialog(null,"Input A:"); 
    String b = JOptionPane.showInputDialog(null,"Input B:"); 
    String c = JOptionPane.showInputDialog(null,"Input C:"); 
    String d = JOptionPane.showInputDialog(null,"Input D:"); 

    double aValue = (Double.parseDouble(a)*ap); 
    double bcValue = (((Double.parseDouble(b)/2(Double.parseDouble(c)/2))*op); 
    double fValue = (Double.parseDouble(d)*fp); 

    double res = aValue+bcValue+fValue; 


    JOptionPane.showMessageDialog(null,"Result : " +res); 

답변

0

음 ... 당신은 당신이 JOptionPane.showConfirmDialog() 방법을 사용할 수 있으며 (여기에 몇 가지 examples)을 사용자 정의 JPanel을 함께 공급 한 대화 상자에서 여러 입력을 갖고 싶어. 즉, 사용자 정의 대화 상자를 작성합니다. 당신은 당신의 요구에 맞게이 개념을 수정할 수 있습니다

String dialogMessage = "Please suppliy digits to the following<br>input boxes:"; 
int btns = JOptionPane.OK_CANCEL_OPTION; 
BorderLayout layout = new BorderLayout(); 
JPanel panel = new JPanel(layout); 
JLabel label = new JLabel("<html>" + dialogMessage + "<br><br><br></html>"); 
panel.add(label, BorderLayout.NORTH); 

JPanel p = new JPanel(new BorderLayout(5, 5)); 
JPanel labels = new JPanel(new GridLayout(0, 1, 2, 2)); 
labels.add(new JLabel("Input A", SwingConstants.RIGHT)); 
labels.add(new JLabel("Input B", SwingConstants.RIGHT)); 
labels.add(new JLabel("Input C", SwingConstants.RIGHT)); 
labels.add(new JLabel("Input D", SwingConstants.RIGHT)); 
p.add(labels, BorderLayout.WEST); 

JPanel controls = new JPanel(new GridLayout(0, 1, 2, 2)); 
JTextField inputA = new JTextField(); 
controls.add(inputA); 
JTextField inputB = new JTextField(); 
controls.add(inputB); 
JTextField inputC = new JTextField(); 
controls.add(inputC); 
JTextField inputD = new JTextField(); 
controls.add(inputD); 
p.add(controls, BorderLayout.CENTER); 
panel.add(p); 

// Get Input from User... 
int res = JOptionPane.showConfirmDialog(null, panel, "My Dialog Title", btns); 
if (res == JOptionPane.OK_OPTION) { 
    System.out.println("Input A is: " + inputA.getText()); 
    System.out.println("Input B is: " + inputB.getText()); 
    System.out.println("Input C is: " + inputC.getText()); 
    System.out.println("Input D is: " + inputD.getText()); 
} 

: 귀하의 경우

여기 당신이 그것을 할 수있는 하나의 방법입니다.

+0

대단히 감사합니다. –