根据标题,如何创建由用户确定的 JLabel 和 JTextfield 的动态大小?
我有一个Main.java
,它接受用户输入,并且我正在另一个文件(Design3.java
)上创建一个JFrame,但我遇到的问题是如何做我将值从 Main.java
传递到 Design3.java
这是我的 Design3.java
文件的代码。基本上我陷入了困境,因为我从 Main.java
传递的值最后是 Design3 方法的变量范围。如何使其全局化,因为我需要全局创建 JLabel
。
int numberOfSellers;
Label[] l = new Label[numberOfSellers];
public class Design3 {
int numberOfSellers;
Design3 nOS = new Design3();
public Design3( int number_of_sellers )
{
nOS.setNumberOfSellers(number_of_sellers);
JFrame newWindow = new JFrame("Test");
newWindow.setVisible(true);
newWindow.setSize(500,500);
newWindow.setLayout(null);
}
public void setNumberOfSellers(int num)
{
this.numberOfSellers = num;
}
}
最佳答案
简而言之,您的问题是:如何让一个类的对象更改另一个类中对象的状态。通常这意味着让一个对象改变另一个对象的字段的状态。
评论:
- 对此没有一刀切的答案,因为这是一个非常广泛且过于笼统的问题。这就是我们要求您澄清问题的原因,因为您的问题越具体,通常答案就越明确。
- 更改对象字段状态的一般方法,包括通过构造函数参数。因此,您可以为 GUI 提供一个 int 字段,例如
numberOfFoo
,然后为其提供一个构造函数参数来匹配,然后当一个类创建另一个类的实例时,它可以将正确的数字传递到第一个类的实例中。构造函数。 - 或者您可以使用 setter 方法,例如
setFoo(int foo)
,其中一个类可以将数字传递给另一个类。
如果您有更具体的问题,那么您必须进一步描述它。例如,如果您希望一个对象监视另一个对象的字段并响应更改,那么根据我的评论,您将需要使用某种类型的观察者设计模式机制。
关于java - 如何创建用户定义的JLabel、JTextField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19992996/