JavaSwingGUI应用程序完全是空白的,没有任何内容,而按钮被添加到面板中
我已经构建了一个基于Swing的GUI,它可以成功构建。但运行后,它只显示一个空白的白色框架,上面没有任何文本和按钮 我已经检查了GUI元素是否已添加到面板中(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;
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);
}
});
}