java中如何在其他类中使用公共类中定义的变量?

2023-12-13

一个外行人关于变量定义和使用的问题:

我需要制作一个 Java GUI 来获取用户的输入并将其存储在文本文件中。然而,这种写入必须在 Actionlistener 类内完成(即,用户单击按钮并创建并存储文本文件)。这意味着我必须在一个类(公共类)中定义一个变量,并在另一个类(定义 Actionlistener 的类)中使用它。

我怎样才能做到这一点?全局变量是唯一的方法吗?

在我的代码中,我首先将“textfield”定义为 JTextField,然后我希望它被读取(作为“text”)并存储(在“text.txt”中)。

import javax.swing.*;
//...
import java.io.BufferedWriter;

public class Runcommand33
{
  public static void main(String[] args)
  {
final JFrame frame = new JFrame("Change Backlight");
   // ...
   // define frames, panels, buttons and positions
    JTextField textfield = new JTextField();textfield.setBounds(35,20,160,30);
    panel.add(textfield);
    frame.setVisible(true);
    button.addActionListener(new ButtonHandler());
  }
}

    class ButtonHandler implements ActionListener{
    public void actionPerformed(ActionEvent event){
    String text = textfield.getText();
        textfield.setText("");
        new BufferedWriter(new FileWriter("text.txt")).write(text).newLine().close();

    // Afterwards 'text' is needed to run a command
              }
            }

当我编译时我得到

Runcommand33.java:45: error: cannot find symbol
                String text = textfield.getText();
                              ^
  symbol:   variable textfield
  location: class ButtonHandler

不带线字符串文本= to 新的缓冲写入器代码编译。

请注意,我已经尝试过此建议获取其他类中的变量和这个如何在另一个类的函数中访问一个类的变量?但他们没有工作。

有什么建议么?


让我们从设计的角度来看一下:ButtonHandler听起来有点太笼统了。按钮单击以什么方式“处理”?啊,它将文本字段的内容保存到文件中,所以它应该被称为“TextFieldSaver”(或者最好是不那么蹩脚的东西)。

现在,TextFieldSaver 需要有一个文本字段来保存,是吗?因此,添加一个成员变量来保存文本字段,并通过构造函数传递在主类中创建的文本字段:

    button.addActionListener(new TextFieldSaver(textfield));

....

class TextFieldSaver implements ActionListener {
    JTextField textfield;
    public TextFieldSaver(JTextField toBeSaved) {
        textfield = toBeSaved;
    }
    public void actionPerformed(ActionEvent event) {
        String text = textfield.getText();
        textfield.setText("");
        new BufferedWriter(new FileWriter("text.txt")).write(text).newLine().close();
    }
}

这不是唯一的方法,也不一定是最好的方法,但我希望它表明使用正确的名称有时会显示出一条出路。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中如何在其他类中使用公共类中定义的变量? 的相关文章

  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • 路径中 File.separator 和斜杠之间的区别

    使用有什么区别File separator和一个正常的 在 Java 路径字符串中 与双反斜杠相反 平台独立性似乎不是原因 因为两个版本都可以在 Windows 和 Unix 下运行 public class SlashTest Test
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 用于检查类是否具有运算符/成员的 C++ 类型特征[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以编写一个 C 模板来检查函数是否存在 https stackoverflow com questions 257288 is it possible to write a c template
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • getResourceAsStream() 可以找到 jar 文件之外的文件吗?

    我正在开发一个应用程序 该应用程序使用一个加载配置文件的库 InputStream in getClass getResourceAsStream resource 然后我的应用程序打包在一个 jar文件 如果resource是在里面 ja
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • Google App Engine 如何预编译 Java?

    App Engine 对应用程序的 Java 字节码使用 预编译 过程 以增强应用程序在 Java 运行时环境中的性能 预编译代码的功能与原始字节码相同 有没有详细的信息这是做什么的 我在一个中找到了这个谷歌群组消息 http groups
  • 无法捆绑适用于 Mac 的 Java 应用程序 1.8

    我正在尝试将我的 Java 应用程序导出到 Mac 该应用程序基于编译器合规级别 1 7 我尝试了不同的方法来捆绑应用程序 1 日食 我可以用来在 Eclipse 上导出的最新 JVM 版本是 1 6 2 马文 看来Maven上也存在同样的
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 在mockito中使用when进行模拟ContextLoader.getCurrentWebApplicationContext()调用。我该怎么做?

    我试图在使用 mockito 时模拟 ContextLoader getCurrentWebApplicationContext 调用 但它无法模拟 here is my source code Mock org springframewo
  • simpleframework,将空元素反序列化为空字符串而不是 null

    我使用简单框架 http simple sourceforge net http simple sourceforge net 在一个项目中满足我的序列化 反序列化需求 但在处理空 空字符串值时它不能按预期工作 好吧 至少不是我所期望的 如
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • AdoQuery 使用参数时出错

    我需要更新字段值 增加旧值 像这样的东西 UPDATE MYTABLE SET FIELD1 FIELD1 VALUE WHERE 但是当运行下一个代码时我遇到了这个错误 参数对象不正确 定义的 不一致或不完整 已提供信息 这是我的代码 A
  • 在画布周围移动一个矩形

    我的应用程序中间有一个画布 周围有控件 我有一个接收点并将它们保存在列表中的套接字 我在画布上画了 4x4 的小矩形来表示列表中的点数 说有 4 个点 有 4 个矩形 我希望能够在点随代码变化时移动矩形 如果没有故事板或任何 动画 类 这可
  • 如何设置连接超时

    我正在查看下面的 C 代码 它设置了一个 http 连接并打开了一个请求 或者我相信是这样 并且想增加连接超时值 以便我可以发送更大的文件 我知道这不是处理大文件的最佳解决方案 但我觉得它是最快的解决方案 而且现在时间是一个大问题 编辑 我
  • 在 linq 的外连接中使用过滤器

    我有以下实体 public class Company public string CompanyName get set public int ID get set public class CompanyCurrency public
  • .Net Windows 应用程序中的缓存

    我正在一个基于 Windows 的应用程序中工作 该应用程序对每笔交易都使用主数据 该主数据通常不会更改 但在某些情况下可能会更改 我正在将此数据提取到缓存中或DataSet一次并将其用于将来的事务 但如果主表中的数据发生更改 则不想花时间
  • 作为 .py 运行时出现随机模块错误

    当您将其作为 py 运行时 它不会加载 random 的特定模块 但如果我在 python shell 中加载它 就没有问题 coding utf 8 usr bin env python import random print rando
  • innerHTML 不适用于 JS 中的类名

    我的下拉列表选择特定值
  • 将工作项从本地 TFS 迁移到 VSTS

    我正在将本地 TFS 迁移到 VSTS 云 TFS 到目前为止一切工作正常 但现在我想将所有现有工作项迁移到 VSTS 我在互联网上搜索了解决方案并找到了一些文章 他们建议使用一些 CMD Line 工具从 TFS 迁移工作项 但不幸的是
  • Ruby 使用 RegEx 在字符串中查找整个数学表达式 [重复]

    这个问题在这里已经有答案了 我正在尝试编写一个程序 该程序将接受字符串并使用 RegEx 来搜索某些数学表达式 例如 1 3 4 2 仅要查找的运算符是 so far string something something nothing 1
  • 如何获取 SSIS 脚本组件中的列值?

    在下面的代码中 我获取了列名称 但在中找不到 Value 属性输入栏 我还需要获取列的值 而不仅仅是名称 IDTSInput100 input ComponentMetaData InputCollection 0 IDTSVirtualI
  • VML 转 PNG/PDF (jsp)

    我已经使用 raphael js 在 Internet Explorer 8 中绘制了我的流程图 现在我想将我的绘图导出为图像文件 我找到了一些答案 但仍然困惑该怎么办 有人可以帮助我解决这个问题吗 示例代码会很棒 导出为 PNG 或 PD
  • Road to Ember 2.0 - 高级 Ember 应用程序结构反馈?

    我发现我正试图在一个特别波动的时期开始学习 Ember 最近的 Road to 2 0 博客文章帮助我明确了前进的方向 但我正在努力在高水平上验证我对 Ember 的方法 我想对人们的时间敏感 我的完整代码适合有兴趣提供更具体反馈的任何人
  • weka 中的 SMO 置信度测量

    我正在使用以下方法编写分类代码smoweka 类 但我还没有找到实例分类的置信度度量 当以下情况时 它总是返回 0 或 1distributionForInstance叫做 我要分为两个类 知道我怎样才能得到这个措施吗 谢谢 好吧 我想出了
  • 在 Notepad++ 中的匹配模式后添加新行

    我有一个 csv 文件 现在我需要以另一种形式导入它 我想在特定模式后有一个换行符 r n 所有模式看起来都是这样的 true or false int number between 0 and 100 decimal number wit
  • 从 PHP 函数内部创建全局变量

    我正在尝试定义动态变量 我为此使用了一个函数 但我不知道如何将新的 var 定义为全局变量 因为它从未在函数之前创建 那可能吗 Thanks edit 好的 这就是我构建的 有那么危险吗 function extract values ro
  • ActiveRecord 和 Postgresql 的枚举类型

    我正在关注这个tutorial从 SitePoint 将模型属性设置为 Enum 值 Rails 从 4 1 开始支持该值 我尝试添加季节枚举 而不是性别枚举 这是我遇到的问题schema db Could not dump table s
  • 如何更改 iOS 7 中未选中的选项卡栏项目颜色?

    在 iOS 7 之前我使用过 UITabBar appearance setTintColor UIColor redColor 但现在它只绘制选定的项目 我已经阅读了一些建议 但我不知道如何做到这一点 我也使用了这个 self tabBa
  • 如何使用 jQuery 设置电话号码格式

    我目前显示的电话号码如下2124771000 但是 我需要将数字格式化为更易于理解的形式 例如 212 477 1000 这是我目前的HTML p class phone 2124771000 p Simple http jsfiddle
  • 服务器发送的多个用户事件

    我正在尝试使用新的服务器发送事件 API 编写聊天程序 但是 我一直无法弄清楚如何向不同的用户发送不同的事件 由于所有代码都发生在一个 PHP 文件中 我不确定仅向每个用户发送某些事件的最佳方法 您能提供的任何帮助将不胜感激 我正在使用 P
  • java中如何在其他类中使用公共类中定义的变量?

    一个外行人关于变量定义和使用的问题 我需要制作一个 Java GUI 来获取用户的输入并将其存储在文本文件中 然而 这种写入必须在 Actionlistener 类内完成 即 用户单击按钮并创建并存储文本文件 这意味着我必须在一个类 公共类