java - 如何创建用户定义的JLabel、JTextField?

标签 java swing jframe

根据标题,如何创建由用户确定的 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/

相关文章:

java - 初始化 JFrame 窗口时黑屏

Java 帮助 - ActionListener 不工作

java - 多部分/表单数据表单提交

java - 如何使用自定义分析器为多个字段创建 PhraseQuery?

java - 如何在 JTabbedPane 中使用布局管理器?

java - JComboBox中如何准确显示字符串?

java - Swing - 显示空白屏幕的 Java 程序

java - 按下主页按钮时在android中保存 Activity 状态

java - 缺少前述方法调用的行为定义 :Usage is: expect(a. foo()).andXXX()

java - 更改 JRadioButton MenuItem 的选定点颜色