如何创建用户定义的JLabel,JTextField?

时间:2013-11-15 03:30:11

标签: java swing jframe

根据标题,如何创建由用户确定的JLabel和JTextfield的动态大小?

我有一个Main.java接受用户输入,我正在另一个文件(Design3.java)上创建一个JFrame但我遇到的问题是如何从{{1}传递值} Main.java

以下是Design3.java文件的代码。基本上我被困了,因为我从Design3.java的值传递给Design3方法的变量范围。如何将其设为全局,因为我需要全局创建Main.java

JLabel

}

2 个答案:

答案 0 :(得分:1)

  

根据标题,如何创建动态大小的JLabel和   JTextfield由用户决定?

你想做什么?您可以考虑创建扩展JLabel的自定义类和扩展JTextField的另一个自定义类。

其次,为什么Design3有一个Design3的实例?我在这里感觉到很多不好的设计。

第三,研究Swing MVC架构。

答案 1 :(得分:1)

简而言之,您的问题是:如何让一个类的对象更改另一个类中对象的状态。通常转换为让一个对象改变另一个对象的字段的状态。

评论:

  • 没有一个适合所有人的答案,因为这是一个非常广泛和过于笼统的问题。这就是为什么我们要求澄清您的问题,因为您的问题越具体,通常答案就越明确。
  • 通过构造函数参数更改对象字段状态的一般方法。所以你可以给你的GUI一个int字段说numberOfFoo,然后给它一个构造函数参数来匹配,然后当一个类创建另一个的实例时,它可以将正确的数字传递给第一个类的构造函数。 / LI>
  • 或者您可以使用诸如setFoo(int foo)之类的setter方法,其中一个类可以将该数字传递给另一个类。

如果您有更具体的问题,那么您必须进一步描述它。例如,如果您希望一个对象监视另一个对象的字段并响应更改,那么根据我的注释,您将需要使用某种类型的观察者设计模式机制。