[英]How do I create user-defined JLabel,JTextField?
根据标题,如何创建由用户确定的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;
}
}
根据标题,如何创建由用户确定的JLabel和JTextfield的动态大小?
你想做什么 ? 您可以考虑创建一个扩展JLabel
的自定义类和另一个扩展JTextField
自定义类。
其次,为什么Design3
有一个Design3
实例? 我在这里感觉到很多不好的设计。
第三,研究Swing MVC
架构。
简而言之,您的问题是:如何让一个类的对象更改另一个类中对象的状态。 通常转换为让一个对象改变另一个对象的字段的状态。
评论:
numberOfFoo
,然后给它一个构造函数参数来匹配,然后当一个类创建另一个的实例时,它可以将正确的数字传递给第一个类的构造函数。 setFoo(int foo)
类的setter方法,其中一个类可以将数字传递给另一个类。 如果您有更具体的问题,那么您必须进一步描述它。 例如,如果您希望一个对象监视另一个对象的字段并响应更改,那么根据我的注释,您将需要使用某种类型的观察者设计模式机制。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.