首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在JOptionPane中添加不同的数字,且循环中的数字,只有一个消息窗口?

如何在JOptionPane中添加不同的数字,且循环中的数字,只有一个消息窗口?
EN

Stack Overflow用户
提问于 2018-08-06 00:52:02
回答 1查看 0关注 0票数 0
  • 我需要放置2个数字并显示从一个数字到另一个数字的序列(即用户输入的1和5显示1、2、3、4、5)。
  • 必须在JOptionPane中显示这一点。

我的问题是如何将数字序列放在一个JOptionPane窗口中。

我的代码会使每个数字得到一个新窗口。

一个完美的解决方案是给出结果1,2,3,.,n

代码语言:txt
复制
import javax.swing.*;
public class Test{
    public static void main (String[] cmer){
        String xx,yy;
        int n1,n2;
        xx=JOptionPane.showInputDialog("Ingrese primer Numero");
        n1=Integer.parseInt(xx);
        yy=JOptionPane.showInputDialog("Ingrese primer Numero");
        n2=Integer.parseInt(yy);
        while (n1!=n2){
            JOptionPane.showMessageDialog(null,n1+", ");   
            if (n1<n2){
                n1++;
            } else{
                n1--;
            }
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-08-06 10:23:44

首先,你似乎正在调用多个输入对话框来收集来自用户的输入。我猜你会更喜欢JOptionPane对话框,所以我用了Confirm Dialog,并根据需要,在单个窗口中使用JPanel

第二,你正在处理循环,这就是为什么message dialog中每个数字都会出现。若要解决此问题,只需在显示dialog之前(或作为)显示你放置在message dialog中的字符串,就像我在下面所做的那样。

下面是一个例子

代码语言:txt
复制
import java.util.*;
import javax.swing.*;

public class Test{
     public static void main (String[] cmer){

          JTextField uno = new JTextField(10);
          JTextField dos = new JTextField(10);

          JPanel panel = new JPanel();
          panel.add(new JLabel("Ingrese primer Numero"));
          panel.add(uno);
          panel.add(Box.createHorizontalStrut(10));
          panel.add(new JLabel("Ingrese final Numero"));
          panel.add(dos);

          int result = JOptionPane.showConfirmDialog(null, panel, 
                   "Escribir Números", JOptionPane.OK_CANCEL_OPTION); //write numbers

          if (result == JOptionPane.OK_OPTION) {
              int first = Integer.parseInt(uno.getText());
              int last = Integer.parseInt(dos.getText());
              List<Integer> listOfNumbers = new LinkedList<>();
              for (int i=first; i < last + 1; i++){
                 listOfNumbers.add(i);
              }

              JOptionPane.showMessageDialog(null,
                      listOfNumbers.toString()
                      .replace("[", "")
                      .replace("]", ""));
         }

    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档