当前位置: 首页 > 知识库问答 >
问题:

摇摆和活动

东门航
2023-03-14

嗯,这是一个非常新的提示。我声明要在window builder的帮助下自己编写GUI应用html" target="_blank">程序的代码,我已经决定停止使用netbeans,因为我在这里读到一些人说这很好。你可能认为我没有调查,但相信我,我做了功课。。。

我尝试了甲骨文所说的方式:

>

公共类MyClass实现ActionListener{

someComponent。addActionListener(instanceOfMyClass);

公共无效动作执行(ActionEvent e){...//对动作做出反应的代码...}

package Todos;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Main extends JFrame {

private JPanel contentPane;
protected JButton btnNewButton;

/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                Main frame = new Main();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });


}

/**
 * Create the frame.
 */
public Main() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.getContentPane().setLayout(new BorderLayout());
    //setDefaultLookAndFeelDecorated(false);
    //setIconImage(Image imagen);
    setTitle("");
    setSize(java.awt.Toolkit.getDefaultToolkit().getScreenSize());
    setPreferredSize(java.awt.Toolkit.getDefaultToolkit().getScreenSize());
    setLocationRelativeTo(null);

    this.btnNewButton = new JButton("New button");
    this.btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            asd(arg0);
        }
    });
    this.getContentPane().add(this.btnNewButton, BorderLayout.NORTH);
}

public void asd(ActionEvent arg0) {
    this.getContentPane().add(new JButton("asd"));
}
}

问题是,为什么这段代码不起作用,我试图添加到JFrame的JButton和ActionPerform事件在我单击后不可见。

这是一个示例代码,可能看起来很愚蠢,但我认为它简化了提示,因为我的问题在几行代码中,没有必要向您展示孔项目。

提前谢谢!

共有1个答案

哈沛
2023-03-14

你的问题在这里:

public void asd(ActionEvent arg0) {
    this.getContentPane().add(new JButton("asd"));
}

表单容器。add()javadoc:

此方法更改与布局相关的信息,因此使组件层次结构无效。如果容器已经显示,则必须在之后验证层次结构才能显示添加的组件。

您需要调用validate()方法使添加的按钮可见:

public void asd(ActionEvent arg0) {
    this.getContentPane().add(new JButton("asd"));
    this.getContentPane().validate();
}
 类似资料:
  • 例: “foo”和“bar”可以是任何字符串键,但它们在键集中应该是唯一的。 我知道,使用Swagger,我可以定义一个对象数组,但这给出了一个不同的API,因为那时我们将拥有如下内容: 我已经阅读了“开放API规范”-“添加地图数据类型支持#38”页面。据我了解,它推荐使用additionalProperties,但似乎并没有回答我的需求(或者说与我使用的Swagger UI 2.1.4不兼容)

  • 理想情况下,我们将有一个显示所有标记为public的控制器/方法的大摇大摆的页面,以及另一个显示所有endpoint的密码安全endpoint。这可能吗?

  • 问题内容: 我一直在使用一个简单的动画上。但是,当观看动画时,我会遇到难以置信的震荡。我应该采取什么步骤来优化此代码? 不知道这是否重要,但是我正在使用OpenJDK 1.8.0_121版本。 任何帮助表示赞赏。 问题答案: 在与Yago进行了精彩的讨论之后,我发现问题围绕多个领域展开,很大程度上归因于Java将更新与操作系统和硬件同步的能力,有些是您可以控制的,有些是无法控制的。 受到Yago的

  • 我有一个java项目(tomcat webapp)和一些REST Api。我想为他们生成大摇大摆的文档。我从本教程(github)开始。我没有maven我们使用蚂蚁任务。我加入了swagger-annotations-1.5.0。jar和所有随swagger jaxrs jar 1.5.0版本附带的jar(如果有用的话,我可以包括一个完整的列表),我已经注释了一些方法,我有一个如下的配置类: }

  • 实现气球左右阻尼摇摆动画效果,也就是摇动从激烈到完全静止。可以摇晃设备或者点击按钮让气球开始摇动。 [Code4App.com]

  • 不久前,我写了一个缩放到鼠标摆动面板,处理高亮、平移、鼠标缩放、选择等。非常好。 我今天又去玩了几次,但都没用。我很困惑。我知道我有一个很好的例子——在某个地方。但在我的驾驶过程中,我的任何实验都不起作用。我开始努力让它再次发挥作用。 最终我发现了问题所在。它是JDK 11和我的新iMac的某种组合。我上一次做这个的时候,是在我的旧Mac上(我不记得在那里我可能用过JDK 11,也不记得有没有用过