java - 如何获取两层组件中的文本

标签 java swing

请我希望看到这个后不要伤害你的眼睛......很抱歉.. 我想得到上面提到的文本。

让我们看看我那糟糕的画…… enter image description here 我想做的是:

我想从黄色突出显示的框中获取文本。

我设计了我的程序,我需要得到一些像上面这样的东西。我使用 getComponentCount() 来检查有多少个标签。它显示正确,然后我使用 getComponent(int n) ,n = 0,并且我正在寻找 getText().. 但没有。

永远谢谢你。

最佳答案

你的设计没问题。
getComponent() 返回一个组件而不是标签。
您只需将其专门转换为标签即可:

String text = null;
Component c = panel.getComponent(i);
if (c instanceof Label)
    text = ((Label)c).getText();

MVC 方法:
更面向对象的解决方案是将模型(数据)与 View (绘图)分开。
您可以创建一个新的模型类,比方说“DrawingModel”。
然后为模型中的每个属性提供 get()/set()
然后,您可以通过 drawingView.setModel(drawingModel) 连接两者。
当您需要任何数据组件时,您可以从 DrawingModel 类访问或设置它,而不是直接从 View 访问或设置它。
实际“驱动”应用程序的组件称为 Controller 。

该方法是一种称为模型- View - Controller (简称 MVC)的架构模式。
您可以了解更多herehere

关于java - 如何获取两层组件中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34191967/

相关文章:

java - 键入时更改 jTextField 的内容

java - 使用 Spring Boot 进行多个 REST 调用

java - 在android中以编程方式添加到布局中时如何从许多EditText中获取数据

java - 最终使用滚动条的 JPanel 列表

java - Swing 绘制点

java - 将表 JTable 中的空单元格读入数组

java - 在 EJB 3.0 中等待一小段时间

java - Android Studio 使用变量访问翻译后的字符串

java - 在 JTextPane 中包裹文本

java.lang.ArrayIndexOutOfBoundsException : 0 when I try to access to the first argument of args parameters, 为什么?