2016-12-27 42 views
0

我在显示JOptionPane.showMessageDialog上的Jtextfield时遇到了问题。 它显示类似于 名称:javax swing.Jtextfield [,0,19,195x20,invalid.layout ......... 节:javax swing.Jtextfield [,0,19,195x20,invalid.layout .. ....... 下面是代码:在JOptionPane.showMessageDialog上显示Jtextfield

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); 
    } 
} 
+0

' “名称: ”+全名+“ \ n”'它应该是'“名称:”+ fullName.getText()+“\ n”' –

+0

请改善标题中的编排 –

回答

0

要打印两JTextFieldtoString()。我相信只有打印出用户信息对话框时才会打印。因此,将if声明更改为所有其余代码,现在将value1value2更改为outputStr,而不是fullNamesection。或者,请致电fullName.getText()section.getText()。这样的:

EX1

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

EX2

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); 
    } 
+0

最后,非常感谢。我确实尝试将fullName和section更改为value1和value2,然后发现我将大括号放在了错误的位置上。 –

相关问题