”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 为什么我的JTEXTAREA使用SwingPropertyChangeSupport修改数组后不会更新?

为什么我的JTEXTAREA使用SwingPropertyChangeSupport修改数组后不会更新?

发布于2025-02-07
浏览:488

Why Does My JTextArea Not Update After Modifying an Array Using SwingPropertyChangeSupport?

SwingPropertyChangeSupport to Dynamically Update JTextArea

SwingPropertyChangeSupport is a class that can be used to monitor changes in the properties of an object.这允许在属性更改时通知其他对象,这对于相应地更新GUI很有用。

在此示例中,我们使用的是swingpropertychangesupport允许在更改时显示在jtextarea中显示的数组通过输入对话框输入。数组的更新确定,但是GUI没有刷新。

这是修改的代码:

arg){ guiforupdate display = new GuiforUpdate(); display.setvisible(true); } } guiforupdate扩展了Jframe实现ActionListener { /** * */ 私有静态最终长序列= 1L; 私人焦点列表焦点列表; 私人字符串mlist; 私人jbutton changearraybutton; 私有JTEXTAREA CODERIN,DISSISOUTUP; 私有int arrayIndex; 私人jpanel displaypanel; 私有Arrayforupdating arrayforupDate = new ArrayForupDating(); public guiforupdate(){ 设定(224,180); layoutleft(); layoutdisplay(); layoutbottom(); } /** *添加了一个数组的显示区域 */ public void layoutdisplay(){ DisplayPanel = new Jpanel(); 添加(displaypanel,borderlayout.center); displayOutput = new jtextarea(); displaypanel.add(displayOutput); DisplayOutput.Addfocuslistener(focusListener); mlist = arrayforupdate.getBoundProperty(); arrayforupdate.addpropertychangelistener(new PropertyChangelistener(){ @Override public void propertyChange(propertyChangeEvent pcevt){ if(pcevt.getPropertyname()。等于( arrayforupdating.bound_property)){ mlist =(pcevt.getNewValue()。toString()); 更新isPlay(); } } }); displayOutput.setText(mlist); } /** *在GUI的左侧添加左侧元素 */ public void layoutleft(){ jpanel left = new jpanel(); 添加(左,borderlayout.west); Codlein = New Jtextarea(2,2); left.add(codlein); codlein.Addfocuslistener(focusListener); } /** *将底部元素添加到GUI的底部 */ public void layoutbottom(){ jpanel bottom = new jpanel(); changearraybutton = new jbutton(“ modify array”); changearraybutton.addactionListener(this); botton.Add(changearraybutton); 添加(底部,borderlayout.south); } /** *过程按钮点击 */ 公共无效的操作表面(ActionEvent AE){ if(ae.getSource()== changearraybutton){ //首先检查是否输入任何代码 if(codein.getText()。trim()。长度()!= 0){ //调用modifyMemory()方法 modifyArray(); } 别的 joptionpane.showmessagedialog(null, “请先输入一些东西。”); } } /** *处理修改数组的方法 */ public void modifyArray(){ //显示以检索输入地址的对话框 字符串地址tomodify =(string)joptionpane .showInputDialog(“在哪个位置?”); //确认是否输入字符串 if((((adverseTomodify!= null) //如果输入十进制地址,请转换为整数 arrayIndex = integer.parseint(adversionTomodify); } //通过整数通过 ProcessInput(arrayIndex); } public void processInput(int a){ 字符串newValue = codein.getText(); arrayforupdate.instructionsin(newValue,a); } public void updatedisplay(){ displayOutput.setText(mlist); } } 类arrayforupdating { 公共静态最终字符串bound_property =“ bound属性”; 私有字符串boundproperty =“”; 私有swingpropertychangesupport spcsupport =新的swingpropertychangesupport( 这); 私人弦乐器mlist; 私人int [] myarray; public arrayforupdating(){ myArray = new Int [5]; for(int i = 0; i
最新教程 更多>
  • 为什么在我的Linux服务器上安装Archive_Zip后,我找不到“ class \” class \'ziparchive \'错误?
    为什么在我的Linux服务器上安装Archive_Zip后,我找不到“ class \” class \'ziparchive \'错误?
    Class 'ZipArchive' Not Found Error While Installing Archive_Zip on Linux ServerSymptom:When attempting to run a script that utilizes the ZipAr...
    编程 发布于2025-04-07
  • 版本5.6.5之前,使用current_timestamp与时间戳列的current_timestamp与时间戳列有什么限制?
    版本5.6.5之前,使用current_timestamp与时间戳列的current_timestamp与时间戳列有什么限制?
    在时间戳列上使用current_timestamp或MySQL版本中的current_timestamp或在5.6.5 此限制源于遗留实现的关注,这些限制需要对当前的_timestamp功能进行特定的实现。 创建表`foo`( `Productid` int(10)unsigned not n...
    编程 发布于2025-04-07
  • 如何使用替换指令在GO MOD中解析模块路径差异?
    如何使用替换指令在GO MOD中解析模块路径差异?
    在使用GO MOD时,在GO MOD 中克服模块路径差异时,可能会遇到冲突,其中3个Party Package将另一个PAXPANCE带有导入式套件之间的另一个软件包,并在导入式套件之间导入另一个软件包。如回声消息所证明的那样: go.etcd.io/bbolt [&&&&&&&&&&&&&&&&...
    编程 发布于2025-04-07
  • 如何处理PHP文件系统功能中的UTF-8文件名?
    如何处理PHP文件系统功能中的UTF-8文件名?
    在PHP的Filesystem functions中处理UTF-8 FileNames 在使用PHP的MKDIR函数中含有UTF-8字符的文件很多flusf-8字符时,您可能会在Windows Explorer中遇到comploreer grounder grounder grounder gro...
    编程 发布于2025-04-07
  • eval()vs. ast.literal_eval():对于用户输入,哪个Python函数更安全?
    eval()vs. ast.literal_eval():对于用户输入,哪个Python函数更安全?
    称量()和ast.literal_eval()中的Python Security 在使用用户输入时,必须优先确保安全性。强大的python功能eval()通常是作为潜在解决方案而出现的,但担心其潜在风险。 This article delves into the differences betwee...
    编程 发布于2025-04-07
  • HTML格式标签
    HTML格式标签
    HTML 格式化元素 **HTML Formatting is a process of formatting text for better look and feel. HTML provides us ability to format text without us...
    编程 发布于2025-04-07
  • 哪种在JavaScript中声明多个变量的方法更可维护?
    哪种在JavaScript中声明多个变量的方法更可维护?
    在JavaScript中声明多个变量:探索两个方法在JavaScript中,开发人员经常遇到需要声明多个变量的需要。对此的两种常见方法是:在单独的行上声明每个变量: 当涉及性能时,这两种方法本质上都是等效的。但是,可维护性可能会有所不同。 第一个方法被认为更易于维护。每个声明都是其自己的语句,使其...
    编程 发布于2025-04-07
  • 为什么使用Firefox后退按钮时JavaScript执行停止?
    为什么使用Firefox后退按钮时JavaScript执行停止?
    导航历史记录问题:JavaScript使用Firefox Back Back 此行为是由浏览器缓存JavaScript资源引起的。要解决此问题并确保在后续页面访问中执行脚本,Firefox用户应设置一个空功能。 警报'); }; alert('inline Alert')...
    编程 发布于2025-04-07
  • Java是否允许多种返回类型:仔细研究通用方法?
    Java是否允许多种返回类型:仔细研究通用方法?
    在Java中的多个返回类型:一种误解类型:在Java编程中揭示,在Java编程中,Peculiar方法签名可能会出现,可能会出现,使开发人员陷入困境,使开发人员陷入困境。 getResult(string s); ,其中foo是自定义类。该方法声明似乎拥有两种返回类型:列表和E。但这确实是如此吗...
    编程 发布于2025-04-07
  • Python读取CSV文件UnicodeDecodeError终极解决方法
    Python读取CSV文件UnicodeDecodeError终极解决方法
    在试图使用已内置的CSV模块读取Python中时,CSV文件中的Unicode Decode Decode Decode Decode decode Error读取,您可能会遇到错误的错误:无法解码字节 在位置2-3中:截断\ uxxxxxxxx逃脱当CSV文件包含特殊字符或Unicode的路径逃...
    编程 发布于2025-04-07
  • 如何同步迭代并从PHP中的两个等级阵列打印值?
    如何同步迭代并从PHP中的两个等级阵列打印值?
    同步的迭代和打印值来自相同大小的两个数组使用两个数组相等大小的selectbox时,一个包含country代码的数组,另一个包含乡村代码,另一个包含其相应名称的数组,可能会因不当提供了exply for for for the uncore for the forsion for for ytry...
    编程 发布于2025-04-07
  • 如何干净地删除匿名JavaScript事件处理程序?
    如何干净地删除匿名JavaScript事件处理程序?
    删除匿名事件侦听器将匿名事件侦听器添加到元素中会提供灵活性和简单性,但是当要删除它们时,可以构成挑战,而无需替换元素本身就可以替换一个问题。 element? element.addeventlistener(event,function(){/在这里工作/},false); 要解决此问题,请考虑...
    编程 发布于2025-04-07
  • 找到最大计数时,如何解决mySQL中的“组函数\”错误的“无效使用”?
    找到最大计数时,如何解决mySQL中的“组函数\”错误的“无效使用”?
    如何在mySQL中使用mySql 检索最大计数,您可能会遇到一个问题,您可能会在尝试使用以下命令:理解错误正确找到由名称列分组的值的最大计数,请使用以下修改后的查询: 计数(*)为c 来自EMP1 按名称组 c desc订购 限制1 查询说明 select语句提取名称列和每个名称...
    编程 发布于2025-04-07
  • 如何在GO编译器中自定义编译优化?
    如何在GO编译器中自定义编译优化?
    在GO编译器中自定义编译优化 GO中的默认编译过程遵循特定的优化策略。 However, users may need to adjust these optimizations for specific requirements.Optimization Control in Go Compi...
    编程 发布于2025-04-07
  • 为什么我会收到MySQL错误#1089:错误的前缀密钥?
    为什么我会收到MySQL错误#1089:错误的前缀密钥?
    mySQL错误#1089:错误的前缀键错误descript [#1089-不正确的前缀键在尝试在表中创建一个prefix键时会出现。前缀键旨在索引字符串列的特定前缀长度长度,可以更快地搜索这些前缀。了解prefix keys `这将在整个Movie_ID列上创建标准主键。主密钥对于唯一识别...
    编程 发布于2025-04-07

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3