java swing 组件显示相关的问题

bh6635 bh6635 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
小白求教,下面这段代码编译运行之后,为什么需要在调整一次窗口大小之后,窗口中的按钮组件才会显示出来?



///////////////////////////////////////////////////////////
// 文件名:
// JavaApplication2.java
///////////////////////////////////////////////////////////
// 简介:
// 简单的Java程序,通过点击按钮显示或隐藏窗口
///////////////////////////////////////////////////////////

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

public class JavaApplication2 {

static JFrame window1 = new JFrame("第一个窗口");
static JFrame window2 = new JFrame("第二个窗口");

public static void main(String [] args) {

Container window1_con = window1.getContentPane();
window1.setBounds(60,100,300,150);
window1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window1.setVisible(true);

Container window2_con = window2.getContentPane();
window2.setBounds(260,100,300,150);
window2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
window2.setVisible(false);

JButton btn1 = new JButton("打开第二个窗口");
window1_con.add(btn1);
// window1.pack();

JButton btn2 = new JButton("关闭此窗口");
window2_con.add(btn2);
// window2.pack();

ActionListener listener1;
listener1 = new ReaderListen1();
btn1.addActionListener(listener1);

ActionListener listener2;
listener2 = new ReaderListen2();
btn2.addActionListener(listener2);

}

}

class ReaderListen1 extends JavaApplication2 implements ActionListener {

public void actionPerformed(ActionEvent e) {
window2.setVisible(true);
}

}

class ReaderListen2 extends JavaApplication2 implements ActionListener {

public void actionPerformed(ActionEvent e) {
window2.setVisible(false);
}

}

...全文
评论 3
收藏 已收藏
分享
返回顶部
bh6635
Java SE 62,621 成员 307,251 内容