如何使用JOptionPane显示信息

时间:2013-10-31 19:24:02

标签: java joptionpane

我需要一些编写程序的帮助

使用此代码,我可以输入曲目名称,艺术家等。

我有一个问题,我现在无法在JOptionPane中显示此信息以显示我的所有信息

import java.util.Scanner;
import javax.swing.JOptionPane;
public class TestTrack
{
   public static void main(String[] args)
   {
      Scanner myScan = new Scanner(System.in);
      System.out.println("Track name");
      String name = myScan.nextLine();
      System.out.println("Artist");
      String Artist = myScan.nextLine();
      System.out.println("Track length seconds");
      String seconds = myScan.nextLine();
      System.out.println("Album");
      String Album = myScan.nextLine();
      JOptionPane.showMessageDialog(null,"Trackinfo:")
   }   

}

所以我想我想要弹出窗口说

曲目名称:“空白”

艺术家:空白

我的另一个问题是如何使用“while”多次提出这个问题,并询问我是否要添加另一首曲目

很抱歉,如果我使用的任何术语不正确,我就开始学习Java了

4 个答案:

答案 0 :(得分:1)

这一行:JOptionPane.showMessageDialog(null,“Trackinfo:”) 包含弹出窗口将包含的内容。你传递你想要的内容作为第二个参数,当前是“Trackinfo”。

要合并一个while循环,你必须有一个循环控制变量,或者一个会破坏循环的条件。在我的例子中我使用了一个字符串。我的示例使用while循环,只要字符串不等于“quit”,它就会继续。

String test = "";
while( ! test.equals("quit") ) {
//use Scanner to get the next value the user enters
//ask for track info
//display that info in a message box
}

答案 1 :(得分:1)

要获得这个:

enter image description here

注意:“确定”和“取消”按钮的文本已本地化,如果您的计算机设置为美国语言环境,则您看不到“Annuler”...; - )

编码:

int answer = 0;
do {

   /*----------------------------------------------------------------------------
   Here you put the code which set the variables name, artist, seconds... (1)
   ----------------------------------------------------------------------------*/

   final String title   = "Track info";
   final String message =
      "<html><table>" +
      "<tr><td>Track name"      + "</td><td>" + name    + "</td></tr>" +
      "<tr><td>Artist"          + "</td><td>" + artist  + "</td></tr>" +
      "<tr><td>Track length seconds</td><td>" + seconds + "</td></tr>" +
      "<tr><td>Album"           + "</td><td>" + album   + "</td></tr>" +
      "</table>";
   answer =
      JOptionPane.showConfirmDialog(
         null, message, title, JOptionPane.OK_CANCEL_OPTION );
} while( answer == JOptionPane.OK_OPTION );

(1)您可以选择Scanner或GUI JOptionPane.showInputDialog()

答案 2 :(得分:0)

JOptionPane.showMessageDialog(null,"Trackinfo:" + "\nArtist: " + Artist + "\nseconds: " + seconds + "\nAlbum: " + Album)

每个'\ n'表示一个新行。为了多次执行此操作,您应该将代码置于while循环中,如下所示:

while(!(Artist == "end")) {
    //your code
}

答案 3 :(得分:0)

使用myScan.next()代替myScan.nextLine()

要将信息输出到消息对话框,请使用

String trackInfo = "Track Name: " + name + " | Artist : " +artist+ " | Track Length: " + seconds + " | Album: " + album;
JOptionPane.showMessageDialog(null, trackInfo, "Trackinfo", JOptionPane.INFORMATION_MESSAGE);