如果文本字段在运行时最初隐藏,如何使文本字段可见?

时间:2014-09-03 17:43:58

标签: java swing

问题是在运行时textField是隐藏的。但是当选择jButton1时,它仍然是隐藏的。这是代码:

package test;

import javax.swing.*;

public class NewJFrame extends javax.swing.JFrame {


    public NewJFrame() {
        initComponents();
        jTextField1.setVisible(t);}

static boolean t=false;

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        String qty=jTextField2.getText();
        int q=Integer.parseInt(qty);
        if(q!=0)
        jTextField1.setVisible(true);
    }    
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }

2 个答案:

答案 0 :(得分:0)

你的代码适用于我,所以如果我猜测,当你测试它时,你在文本字段中输入非整数,并在

处抛出一个NumberFormatException
int q = Integer.parseInt(qty);

试试这个,看看它是否适合你。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

    String qty=jTextField2.getText();

    try {
        int q=Integer.parseInt(qty);
        if(q!=0) {
            jTextField1.setVisible(true);
        }
    } catch (NumberFormatException ex) {
        // you know it can't be 0 if it got here
        jTextField1.setVisible(true);
    }

如果要确保用户在文本字段中输入整数,可以在其上放置一个InputVerifier。

您也可以将其保留为字符串,而不是将其转换为整数并执行此操作:

if (!qty.equalsIgnoreCase("0")) {
}

答案 1 :(得分:0)

所以双击jbutton1,或者你通常在netbeans中这样做(抱歉,大约6个月内没有使用过netbeans)来设置单击按钮时的代码,只需将相关文本字段的可见性设置为true即可。基本上这下面的答案是......:)