溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java實(shí)現(xiàn)點(diǎn)擊按鈕事件彈出子窗口

發(fā)布時(shí)間:2020-10-03 21:34:02 來源:腳本之家 閱讀:170 作者:NPC27149 欄目:編程語言

本文實(shí)例為大家分享了java實(shí)現(xiàn)點(diǎn)擊按鈕事件彈出子窗口的具體代碼,供大家參考,具體內(nèi)容如下

要求:

1、在父窗口中添加一個(gè)按鈕

2、點(diǎn)擊按鈕彈出子窗口

注意:這是JDK1.7版本

在JDK1.7之前,JFrame是不能直接添加子窗口的,要先將JInternalFrame添加到JDesktopPane中,再將JDesktopPane添加到父窗口內(nèi),完成這個(gè)操作。

(一)建立父類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");//標(biāo)題
 setBounds(400, 300, 800, 600);//父窗口的坐標(biāo)和大小
 getContentPane().setLayout(null);//自由布局
 JButton bt = new JButton("\u6309\u94AE");//按鈕的變量名為bt
 bt.setBounds(0, 0, 93, 23);//按鈕的位置坐標(biāo)和大小
 getContentPane().add(bt);//按鈕添加到窗口中
 
 bt.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent e) {
 Testinterfrm testinterfrm=new Testinterfrm();//新建子窗口對(duì)象
 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");//標(biāo)題
 setBounds(400, 300, 800, 600);//父窗口的坐標(biāo)和大小
 getContentPane().setLayout(null);//自由布局
 JButton bt = new JButton("\u6309\u94AE");//按鈕的變量名為bt
 bt.setBounds(0, 0, 93, 23);//按鈕的位置坐標(biāo)和大小
 getContentPane().add(bt);//按鈕添加到窗口中
 
 bt.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent e) {
 Testinterfrm testinterfrm=new Testinterfrm();//新建子窗口對(duì)象
 testinterfrm.setVisible(true);//子窗口可見
 getContentPane().add(testinterfrm);//子窗口添加到父窗口中 
 }
 }); 
 }
}

運(yùn)行結(jié)果:

java實(shí)現(xiàn)點(diǎn)擊按鈕事件彈出子窗口

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI