package test2;
public class NewJFrame extends javax.swing.JFrame {
private static void valueGen(javax.swing.JTextField jTextField1) {
String x = jTextField1.getText();
System.out.println(x);
}
public NewJFrame() {
initComponents();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
jTextField1.setText("Hello");
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
}
public javax.swing.JTextField getTextField() {
jTextField1.getText();
return this.jTextField1;
}
public static void main(String args[]) {
NewJFrame myFrame = new NewJFrame();
valueGen(myFrame.getTextField());
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame().setVisible(true);
}
});
}
private javax.swing.JButton jButton1;
private javax.swing.JTextField jTextField1;
}
我有一个如上所示的程序。单击提交按钮时,我需要在文本字段中设置文本“hello”。有用。但后来我需要在一个名为valueGen的函数中使用该文本进行打印。但是执行上述代码不会打印文本。这段代码有什么问题?
答案 0 :(得分:0)
它没有组织。始终将类变量置于顶部。
像Cool Guy说的那样,把myFrame
代替new NewJTest()
valueGen实际上被称为之前,您可以点击该按钮。把它放在jTextField1ActionPerformed
;这可能会解决它。
答案 1 :(得分:0)
在netbeans中输出 System.out.println(); 将显示在输出窗口中,如下图所示。 如果您想将其显示为消息,请使用 valueGen() 方法替换以下方法。
private static void valueGen(javax.swing.JTextField jTextField1) {
String x = jTextField1.getText();
System.out.println(x);
JOptionPane.showMessageDialog(null, x);
}
使用 myFrame.setVisible(true); 使JFrame可见。
public void run() {
NewJFrame myFrame = new NewJFrame();
myFrame.setVisible(true);
valueGen(myFrame.getTextField());
}