JavaSwingGUI应用程序完全是空白的,没有任何内容,而按钮被添加到面板中

JavaSwingGUI应用程序完全是空白的,没有任何内容,而按钮被添加到面板中,java,swing,user-interface,jframe,jpanel,Java,Swing,User Interface,Jframe,Jpanel,我已经构建了一个基于Swing的GUI,它可以成功构建。但运行后,它只显示一个空白的白色框架,上面没有任何文本和按钮 我已经检查了GUI元素是否已添加到面板中(myPanel.add(bTest,“Card1”);)。还有$$$setupUI$$$()应在构造函数之后执行 代码: 包装挥发性有机化合物; 导入javax.swing.*; 导入javax.swing.border.TitledBorder; 导入java.awt.*; 导入java.awt.event.MouseAdapter;

我已经构建了一个基于Swing的GUI,它可以成功构建。但运行后,它只显示一个空白的白色框架,上面没有任何文本和按钮

我已经检查了GUI元素是否已添加到面板中(
myPanel.add(bTest,“Card1”);
)。还有
$$$setupUI$$$()应在构造函数之后执行

代码:

包装挥发性有机化合物;
导入javax.swing.*;
导入javax.swing.border.TitledBorder;
导入java.awt.*;
导入java.awt.event.MouseAdapter;
导入java.awt.event.MouseEvent;
公共类GUI扩展JFrame{
私人JPanel myPanel;
私人JButton测试;
私有JTextArea tEnterTranslation;
公共图形用户界面(){
此.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
此.setVisible(true);
b测试添加MouseListener(新的MouseAdapter(){
@凌驾
公共无效mouseClicked(MouseEvent e){
超级鼠标点击(e);
}
});
}
公共静态void create(){
GUI=新GUI();
}
公共静态void main(字符串[]args){
创建();
}
{
//IntelliJ IDEA GUI设计器生成的GUI初始值设定项

//>>>重要!!>重要!!您忘记将
JPanel
添加到
JFrame
contentPane()

publicgui(){
此.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.getContentPane().add(myPanel);您忘记将
JPanel
添加到
JFrame
contentPane()

publicgui(){
此.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.getContentPane().add(myPanel);@FastSnail“初始化组件”是什么意思。我在运行应用程序时没有遇到任何异常。不,不,对不起,我没有看到底层代码。错误提示:当ActionListener工作得更好时,不要向JButton添加鼠标侦听器。@HoverCraftFullOfels您能解释一下它如何工作得更好吗?1.按钮应该如果他们有焦点且空格键被按下,则可以工作。这是否适用于鼠标侦听器?--2号。如果您通过调用`setEnabled(false)来停用按钮在它上面,按钮现在应该不起作用了。它在鼠标侦听器上的行为是这样的吗?--不。同样,为了正确的行为,您应该使用适当的侦听器,这里是ActionListener。@FastSnail“初始化组件”是什么意思。我在运行应用程序时没有遇到任何异常。不,不,对不起,我没有看到底部代码。错误面n注意:当ActionListener可以更好地工作时,不要将MouseStener添加到JButton中。@HoverCraftFullOfels您能解释一下它如何工作得更好吗?1.如果按钮有焦点且空格键被按下,则应该可以工作。这对MouseStener有效吗?--否。2.如果您通过调用“setEnabled(false)”来停用按钮在它上面,按钮现在应该不起作用了。它在使用鼠标侦听器时会这样做吗?--不会。同样,为了获得正确的行为,您应该使用适当的侦听器,这里是ActionListener。
package voc;

import javax.swing.*;
import javax.swing.border.TitledBorder;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class GUI extends JFrame {
    private JPanel myPanel;
    private JButton bTest;
    private JTextArea tEnterTranslation;

    public GUI() {

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
        bTest.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                super.mouseClicked(e);
            }
        });
    }

    public static void create() {
        GUI gui = new GUI();
    }


    public static void main(String[] args) {
        create();
    }


    {
// GUI initializer generated by IntelliJ IDEA GUI Designer
// >>> IMPORTANT!! <<<
// DO NOT EDIT OR ADD ANY CODE HERE!
        $$$setupUI$$$();
    }

    /**
     * Method generated by IntelliJ IDEA GUI Designer
     * >>> IMPORTANT!! <<<
     * DO NOT edit this method OR call it in your code!
     *
     * @noinspection ALL
     */
    private void $$$setupUI$$$() {
        myPanel = new JPanel();
        myPanel.setLayout(new CardLayout(0, 0));
        myPanel.setMaximumSize(new Dimension(500, 500));
        myPanel.setMinimumSize(new Dimension(500, 500));
        myPanel.setPreferredSize(new Dimension(500, 500));
        myPanel.setBorder(BorderFactory.createTitledBorder(null, "voc", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font(myPanel.getFont().getName(), myPanel.getFont().getStyle(), myPanel.getFont().getSize()), new Color(-4497096)));
        bTest = new JButton();
        bTest.setMinimumSize(new Dimension(10, 20));
        bTest.setText("Button");
        myPanel.add(bTest, "Card1");
        tEnterTranslation = new JTextArea();
        tEnterTranslation.setMinimumSize(new Dimension(20, 15));
        tEnterTranslation.setPreferredSize(new Dimension(20, 15));
        tEnterTranslation.setText("");
        myPanel.add(tEnterTranslation, "Card2");
    }

    /**
     * @noinspection ALL
     */
    public JComponent $$$getRootComponent$$$() {
        return myPanel;
    }
}
public GUI() {

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.getContentPane().add(myPanel); <--------------------------------- HERE
    this.setVisible(true);
    bTest.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            super.mouseClicked(e);
        }
    });
}