如何在两个分层组件中获取文本

时间:2015-12-10 01:01:27

标签: java swing

我希望看到那个人后不要伤到你的眼睛...很抱歉.. 我想得到一个如上所述的文本。

让我们来看看我可怕的画作...... enter image description here  我想做的是:

我想从黄色高亮的方框中获取文字。

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

永远谢谢你。

1 个答案:

答案 0 :(得分:2)

你的设计还可以。
getComponent()返回一个Component而不是Label 你只需要将它作为标签专门转换回来:

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

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

该方法是一种称为 模型 - 视图 - 控制器 (或简称MVC)的架构模式。
您可以了解更多herehere