java - JTextArea 始终为空?

标签 java swing jframe jbutton jtextarea

这是我的代码,非常简单,它只是创建一个 JFrame,中间有一个 JTextArea

if(!txtSource.getText().trim().equals("") && txtSource != null)

即使我在 JTextArea 中输入了文本,也永远不会满意。

我只想在 JTextArea 有一些文本时执行 methodA()。

private Container content;
private JTextArea txtSource;

public Test() {
    this.setTitle("Test");
    this.setSize(600,200);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setLayout(new BorderLayout());
    content = this.getContentPane();
    content.add(getTextArea(), BorderLayout.CENTER);
    content.add(button(), BorderLayout.SOUTH);
    this.setVisible(true); 
}

private JTextArea getTextArea() {
    JTextArea txtSource = new JTextArea(20, 80);
    return txtSource;
}

private JButton button() {

    JButton btn = new JButton("Click me");

    btn.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
             if(!txtSource.getText().trim().equals("") && txtSource != null) {
                 methodA();
             } else { 
                 System.out.println("Please paste your script in.");
         }
    }
}

请帮帮我...

最佳答案

你是 shadowing txtSource 变量,替换

JTextArea txtSource = new JTextArea(20, 80);

txtSource = new JTextArea(20, 80);

关于java - JTextArea 始终为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15730666/

相关文章:

java - SelectOneMenu 更新其他 SelectOneMenu

java - 关于Java定位

java - 不要重新绘制或重新验证

java - 如何让JFrame充满整个显示器屏幕?

java - 在数据更改时刷新 Jframe

java - 如何根据输入的文本向JtextPane添加规则

java - 需要一种方法来读取两个文件并使用扫描器类输出差异

java - 将类实现 ActionListener 转换为线程

java - 为什么当我用另一个面板包裹一个面板时胶水会消失?

java - Dice Class,Cho-Han Bakuchi 的游戏。Java(二元运算符的错误操作数类型 '+')