🎊 java - JFrame:无法启动新窗口

java - JFrame:无法启动新窗口

我正在尝试学习 Java 和 JFrames。我把这个简单的应用程序放在了 Main 类启动 MainGui 类的地方。MainGui 将包含一堆按钮,每个按钮都有不同的功能(现在它只有 canadaFlagButton)。使用我创建的按钮打开 MainGui 的窗口没有问题。

但是,当我单击 canadaFlagButton 时,它应该会启动一个新窗口,但是却没有任何反应。

import javax.swing.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

public class MainGui extends JFrame implements ActionListener {

JButton canadaFlagButton;

MainGui() {

canadaFlagButton = new JButton("Canada Flag");

canadaFlagButton.setBounds(100, 100, 200, 50);

canadaFlagButton.setFocusable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setSize(400, 600);

this.setLayout(null);

this.add(canadaFlagButton);

this.setVisible(true);

}

@Override

public void actionPerformed(ActionEvent e) {

if(e.getSource()==canadaFlagButton) {

CanadaFlag window1 = new CanadaFlag();

}

}

}

//Can I draw the Canadian flag?

这是 CanadaFlag 类:

import javax.swing.*;

import java.awt.*;

public class CanadaFlag extends JFrame {

CanadaFlag() {

//creating label for maple leaf

JLabel leafLabel = new JLabel();

ImageIcon leaf = new ImageIcon("mapleleaf.png");

leafLabel.setIcon(leaf);

leafLabel.setVerticalAlignment(JLabel.CENTER);

leafLabel.setHorizontalAlignment(JLabel.CENTER);

JPanel redLeftPanel = new JPanel();

redLeftPanel.setBackground(Color.red);

redLeftPanel.setBounds(0, 0, 400, 1000);

JPanel redRightPanel = new JPanel();

redRightPanel.setBackground(Color.red);

redRightPanel.setBounds(1000, 0, 400, 1000);

JPanel whiteMiddlePanel = new JPanel();

whiteMiddlePanel.setBackground(Color.white);

whiteMiddlePanel.setBounds(400, 0, 600, 1000);

whiteMiddlePanel.setLayout(new BorderLayout());

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setLayout(null);

this.setSize(1400, 1000);

this.setVisible(true);

this.add(redLeftPanel);

this.add(redRightPanel);

this.add(whiteMiddlePanel);

whiteMiddlePanel.add(leafLabel);

}

}

🎈 相关推荐

世界杯冠军排行:巴西5冠第一  阿根廷3冠排名第四
🏷️ 2022年bet体育365官网合法吗

世界杯冠军排行:巴西5冠第一 阿根廷3冠排名第四

📅 07-04 👀 645
突发!法国队坏消息
🏷️ 日博官网365bet

突发!法国队坏消息

📅 07-16 👀 9171
龙王恨鲢鱼饵料搭配,手竿钓鲢鳙如何配饵料
🏷️ 2022年bet体育365官网合法吗

龙王恨鲢鱼饵料搭配,手竿钓鲢鳙如何配饵料

📅 10-08 👀 1768
商业环境
🏷️ 2022年bet体育365官网合法吗

商业环境

📅 08-07 👀 3548
XCC曝Faker每天练习14小时:五冠背后的努力与坚持
🏷️ 日博官网365bet

XCC曝Faker每天练习14小时:五冠背后的努力与坚持

📅 07-17 👀 286
单反相机有多少像素(单反相机的像素一般是多少?)
🏷️ 足球比分365cv

单反相机有多少像素(单反相机的像素一般是多少?)

📅 09-16 👀 2543