java - 访问 Intellij Form Designer 对象

标签 java forms intellij-idea getter

当我使用 intellij 设计 Java 表单时,它只声明私有(private)组件,例如

Private JPanel myPanel;

但是我如何从我的类源文件中访问这个对象。例如。当我想向 myPanel 添加 JButton 时?

我知道我可以为 myPanel 编写一个 getter,但是我该如何访问它呢?

最佳答案

让我通过更改按钮文本来解释我的解决方案。

  1. 在 intellij GUI Designer 中创建按钮
  2. 为其添加 getter 方法(转到源代码,手动编写 getter 或让 intellij 为您完成)
  3. 现在您可以使用 getter 方法来访问对象方法。

示例:单击时更改 GUI 设计者创建的按钮的按钮文本:

import javax.swing.*;
import java.awt.event.*;

public class TestForm {

private JButton button1;
private JPanel panel1;

public TestForm() {
    getButton1().addActionListener(new clickListener());
}

public JButton getButton1() {
    return button1;
}


public static void main(String[] args) {
    JFrame frame = new JFrame("TestForm");
    frame.setContentPane(new TestForm().panel1);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
}

public void changeTextOnButton(){
    getButton1().setText("gwerz");
}

public class clickListener implements ActionListener{
    public void actionPerformed(ActionEvent e){
        if (getButton1().getText().equals("Button")){
        getButton1().setText("Dgsdg");
    }
    else {
        getButton1().setText("Button");
    }
}
}


}

关于java - 访问 Intellij Form Designer 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20817595/

相关文章:

JavaFX - MediaPlayer 不工作

php - 使用Mysql结果给$_POST变量赋值

java - 我应该使用哪个正则表达式来忽略 IDEA 中自动生成的 TODO?

java - 我找不到的 IntelliJ 快捷方式

java - 错误: UnsupportedCharsetException when upload file with MultipartEntity entity

java - Apache Flink 从 Kafka 读取 Avro byte[]

python - 如何在 Python 中填写 PDF 表单?

当我包含一行代码时,javascript 表单验证总是返回 true

reactjs - 如何使用 IntelliJ 更改 App.js 文件中 HTML 标签的颜色?

java - 当订阅者重新连接时,mosquitto 不会重新发送消息