java實現(xiàn)點擊按鈕事件彈出子窗口
本文實例為大家分享了java實現(xiàn)點擊按鈕事件彈出子窗口的具體代碼,供大家參考,具體內(nèi)容如下
要求:
1、在父窗口中添加一個按鈕
2、點擊按鈕彈出子窗口
注意:這是JDK1.7版本
在JDK1.7之前,JFrame是不能直接添加子窗口的,要先將JInternalFrame添加到JDesktopPane中,再將JDesktopPane添加到父窗口內(nèi),完成這個操作。
(一)建立父類JFrame
package com.java.view; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JDesktopPane; import javax.swing.JButton; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JMenuBar; public class Testfrm extends JFrame { /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Testfrm frame = new Testfrm(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public Testfrm() { setTitle("\u7236\u7A97\u53E3");//標題 setBounds(400, 300, 800, 600);//父窗口的坐標和大小 getContentPane().setLayout(null);//自由布局 JButton bt = new JButton("\u6309\u94AE");//按鈕的變量名為bt bt.setBounds(0, 0, 93, 23);//按鈕的位置坐標和大小 getContentPane().add(bt);//按鈕添加到窗口中 bt.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Testinterfrm testinterfrm=new Testinterfrm();//新建子窗口對象 testinterfrm.setVisible(true);//子窗口可見 getContentPane().add(testinterfrm);//子窗口添加到父窗口中 } }); } }
(二)建立子類JInternalFrame
package com.java.view; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JDesktopPane; import javax.swing.JButton; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JMenuBar; public class Testfrm extends JFrame { /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Testfrm frame = new Testfrm(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public Testfrm() { setTitle("\u7236\u7A97\u53E3");//標題 setBounds(400, 300, 800, 600);//父窗口的坐標和大小 getContentPane().setLayout(null);//自由布局 JButton bt = new JButton("\u6309\u94AE");//按鈕的變量名為bt bt.setBounds(0, 0, 93, 23);//按鈕的位置坐標和大小 getContentPane().add(bt);//按鈕添加到窗口中 bt.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Testinterfrm testinterfrm=new Testinterfrm();//新建子窗口對象 testinterfrm.setVisible(true);//子窗口可見 getContentPane().add(testinterfrm);//子窗口添加到父窗口中 } }); } }
運行結(jié)果:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java實現(xiàn)動態(tài)創(chuàng)建類操作示例
這篇文章主要介紹了Java實現(xiàn)動態(tài)創(chuàng)建類操作,結(jié)合完整示例形式分析了Java動態(tài)創(chuàng)建類的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2020-02-02IntelliJ IDEA中使用mybatis-generator的示例
這篇文章主要介紹了IntelliJ IDEA中使用mybatis-generator,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04使用Java獲取html中Select,radio多選的值方法
以下是對使用Java獲取html中Select,radio多選值的方法進行了詳細的分析介紹,需要的朋友可以過來參考下2013-08-08Spring Boot使用Druid進行維度的統(tǒng)計和監(jiān)控
這篇文章主要介紹了Spring Boot使用Druid進行維度的統(tǒng)計和監(jiān)控,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-04-04mybatis insert foreach循環(huán)插入方式
這篇文章主要介紹了mybatis insert foreach循環(huán)插入方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07淺析Java中Apache BeanUtils和Spring BeanUtils的用法
這篇文章主要介紹了Java中Apache BeanUtils和Spring BeanUtils的用法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11Java線程安全的常用類_動力節(jié)點Java學院整理
在集合框架中,有些類是線程安全的,這些都是jdk1.1中的出現(xiàn)的。在jdk1.2之后,就出現(xiàn)許許多多非線程安全的類。 下面是這些線程安全的同步的類2017-06-06