bh6635 2017-09-27 16:12 采纳率: 0%
浏览 697

java swing 组件显示相关的问题

小白求教,下面这段代码编译运行之后,为什么需要在调整一次窗口大小之后,窗口中的按钮组件才会显示出来?


///////////////////////////////////////////////////////////
// 文件名:
//      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);
    }

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 如何实现从tello无人机上获取实时传输的视频流,然后将获取的视频通过yolov5进行检测
    • ¥15 WPF使用Canvas绘制矢量图问题
    • ¥15 用三极管设计一个单管共射放大电路
    • ¥15 孟德尔随机化r语言运行问题
    • ¥15 pyinstaller编译的时候出现No module named 'imp'
    • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
    • ¥15 怎么把多于硬盘空间放到根目录下
    • ¥15 Matlab问题解答有两个问题
    • ¥15 LCD12864中文显示
    • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决