簡體   English   中英

在JOptionPane.showMessageDialog上顯示Jtextfield

[英]Display Jtextfield on JOptionPane.showMessageDialog

我在顯示JOptionPane.showMessageDialog上的Jtextfield時遇到麻煩。 它顯示類似名稱的內容:javax swing.Jtextfield [,0,19,195x20,invalid.layout .........部分:javax swing.Jtextfield [,0,19,195x20,invalid.layout ..... ....這是代碼:

package quiz_application;

import java.awt.Component;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
/**
*
* @author Christian
*/
public class Quiz_application {
public static void main(String[] args){
 /**
  * Input
  */
 JTextField fullName = new JTextField();
 JTextField section = new JTextField();
 Object[] message = {
"Name:", fullName,
"Section:", section,
 };

 Component parent = null;
 int option = JOptionPane.showConfirmDialog(parent, message,"User  Information", JOptionPane.OK_CANCEL_OPTION);
 if (option == JOptionPane.OK_OPTION)
 {
 String value1 = fullName.getText();
 String value2 = section.getText();
 }
 String outputStr="Name: "+ fullName+"\n"
     +"Section: "+ section;

     JOptionPane.showMessageDialog(null, outputStr,"User Information",JOptionPane.INFORMATION_MESSAGE);
  }
 }

您正在打印兩個JTextField toString() 我相信您只有在出現“用戶信息”對話框的情況下才會打印。 因此,將if語句更改為其余所有代碼,然后將value1value2傳遞給outputStr而不是fullNamesection 或者,只需調用fullName.getText()section.getText() 像那樣:

例1

String value1 = fullName.getText();
String value2 = section.getText();
String outputStr = "Name: " + value1 + "\n" + "Section: " + value2;

例2

String outputStr = "Name: " + fullName.getText() + "\n" + "Section: " + section.getText();

擴展If語句

    if (option == JOptionPane.OK_OPTION) {
        String value1 = fullName.getText();
        String value2 = section.getText();

        String outputStr = "Name: " + value1 + "\n" + "Section: " + value2;

        JOptionPane.showMessageDialog(null, outputStr, "User Information",
            JOptionPane.INFORMATION_MESSAGE);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM