欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java Swing JFrame窗口的實(shí)現(xiàn)

 更新時(shí)間:2019年12月31日 16:42:26   作者:xietansheng  
這篇文章主要介紹了Java Swing JFrame窗口的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1. 概述

官方JavaDocsApi: javax.swing.JFrame

JFrame,窗口。JFrame 是一個(gè)可以獨(dú)立顯示的組件,一個(gè)窗口通常包含有標(biāo)題、圖標(biāo)、操作按鈕(關(guān)閉、最小化、最大化),還可以為窗口添加菜單欄、工具欄等。一個(gè)進(jìn)程中可以創(chuàng)建多個(gè)窗口,并可在適當(dāng)時(shí)候進(jìn)行顯示、隱藏 或 銷毀。

JFrame 常用構(gòu)造方法:

/**
 * 參數(shù)說明:
 *  title: 窗口標(biāo)題
 */
JFrame()

JFrame(String title)

JFrame 常用方法:

// 設(shè)置窗口的 標(biāo)題
void setTitle(String title)

// 設(shè)置窗口的 圖標(biāo)
void setIconImage(Image image)

// 設(shè)置窗口的 寬高
void setSize(int width, int height)
void setSize(Dimension d)

/**
 * 設(shè)置窗口關(guān)閉按鈕點(diǎn)擊后的默認(rèn)操作, 參考值:
 *  WindowConstants.DO_NOTHING_ON_CLOSE: 不執(zhí)行任何操作。
 *  WindowConstants.HIDE_ON_CLOSE: 隱藏窗口(不會(huì)結(jié)束進(jìn)程), 再次調(diào)用 setVisible(true) 將再次顯示。
 *  WindowConstants.DISPOSE_ON_CLOSE: 銷毀窗口, 如果所有可顯示的窗口都被 DISPOSE, 則可能會(huì)自動(dòng)結(jié)束進(jìn)程。
 *  WindowConstants.EXIT_ON_CLOSE: 退出進(jìn)程。
 */
void setDefaultCloseOperation(int operation)

// 設(shè)置窗口是否可放大縮小
void setResizable(boolean resizable)

// 設(shè)置窗口的 位置(相對(duì)于屏幕左上角)
void setLocation(int x, int y)
void setLocation(Point p)

// 設(shè)置窗口的 位置 和 寬高
void setBounds(int x, int y, int width, int height)
void setBounds(Rectangle rect)

// 獲取窗口的位置坐標(biāo)(相對(duì)于屏幕坐標(biāo)空間)
Point getLocationOnScreen()
// 獲取窗口的位置坐標(biāo)(相對(duì)于父級(jí)坐標(biāo)空間, 窗口的父級(jí)一般就是屏幕)
Point getLocation()

/**
 * 設(shè)置窗口的相對(duì)位置。
 * 如果 comp 整個(gè)顯示區(qū)域在屏幕內(nèi), 則將窗口放置到 comp 的中心;
 * 如果 comp 顯示區(qū)域有部分不在屏幕內(nèi), 則將該窗口放置在最接近 comp 中心的一側(cè);
 * comp 為 null, 表示將窗口放置到屏幕中心。
 */
void setLocationRelativeTo(Component comp)

// 設(shè)置將窗口 置頂 顯示
void setAlwaysOnTop(boolean alwaysOnTop)

// 設(shè)置窗口的內(nèi)容面板
void setContentPane(Container contentPane)

// 設(shè)置窗口是否可見, 窗口對(duì)象剛創(chuàng)建和添加相應(yīng)組件后通過 setVisible(true) 繪制窗口, 其內(nèi)部組件可能要此時(shí)才有寬高值
void setVisible(boolean b)

// 判斷窗口是否處于顯示狀態(tài)
boolean isShowing()

// 銷毀窗口, 釋放窗口及其所有子組件占用的資源, 之后再次調(diào)用 setVisible(true) 將會(huì)重構(gòu)窗口
void dispose()

// 調(diào)整窗口的大小, 以適合其子組件的首選大小和布局。
void pack()

2. 代碼實(shí)例

package com.xiets.swing;

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

public class Main {

 public static void main(String[] args) {
  final JFrame jf = new JFrame("測(cè)試窗口");
  jf.setSize(400, 400);
  jf.setLocationRelativeTo(null);
  jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

  JPanel panel = new JPanel();

  JButton btn = new JButton("Show New Window");
  btn.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    // 點(diǎn)擊按鈕, 顯示新的一個(gè)窗口
    showNewWindow(jf);
   }
  });
  panel.add(btn);

  jf.setContentPane(panel);
  jf.setVisible(true);
 }

 public static void showNewWindow(JFrame relativeWindow) {
  // 創(chuàng)建一個(gè)新窗口
  JFrame newJFrame = new JFrame("新的窗口");

  newJFrame.setSize(250, 250);

  // 把新窗口的位置設(shè)置到 relativeWindow 窗口的中心
  newJFrame.setLocationRelativeTo(relativeWindow);

  // 點(diǎn)擊窗口關(guān)閉按鈕, 執(zhí)行銷毀窗口操作(如果設(shè)置為 EXIT_ON_CLOSE, 則點(diǎn)擊新窗口關(guān)閉按鈕后, 整個(gè)進(jìn)程將結(jié)束)
  newJFrame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

  // 窗口設(shè)置為不可改變大小
  newJFrame.setResizable(false);

  JPanel panel = new JPanel(new GridLayout(1, 1));

  // 在新窗口中顯示一個(gè)標(biāo)簽
  JLabel label = new JLabel("這是一個(gè)窗口");
  label.setFont(new Font(null, Font.PLAIN, 25));
  label.setHorizontalAlignment(SwingConstants.CENTER);
  label.setVerticalAlignment(SwingConstants.CENTER);
  panel.add(label);

  newJFrame.setContentPane(panel);
  newJFrame.setVisible(true);
 }

}

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

相關(guān)文章

  • java中JSONObject轉(zhuǎn)換為HashMap(方法+main方法調(diào)用實(shí)例)

    java中JSONObject轉(zhuǎn)換為HashMap(方法+main方法調(diào)用實(shí)例)

    這篇文章主要介紹了java中JSONObject轉(zhuǎn)換為HashMap(方法+main方法調(diào)用實(shí)例),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • springboot 如何重定向redirect 并隱藏參數(shù)

    springboot 如何重定向redirect 并隱藏參數(shù)

    這篇文章主要介紹了springboot 如何重定向redirect 并隱藏參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 解決Jackson反序列化map,set等復(fù)雜類型問題

    解決Jackson反序列化map,set等復(fù)雜類型問題

    這篇文章主要介紹了解決Jackson反序列化map,set等復(fù)雜類型問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-09-09
  • Java 超詳細(xì)講解數(shù)據(jù)結(jié)構(gòu)的應(yīng)用

    Java 超詳細(xì)講解數(shù)據(jù)結(jié)構(gòu)的應(yīng)用

    數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)存儲(chǔ)、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合,讓我們一起來(lái)了解數(shù)據(jù)結(jié)構(gòu)是如何應(yīng)用的
    2022-04-04
  • java實(shí)現(xiàn)文件讀寫與壓縮實(shí)例

    java實(shí)現(xiàn)文件讀寫與壓縮實(shí)例

    這篇文章主要介紹了java實(shí)現(xiàn)文件讀寫與壓縮實(shí)例,有助于讀者加深對(duì)文件操作的理解,需要的朋友可以參考下
    2014-07-07
  • Spring?Security全新版本使用方式

    Spring?Security全新版本使用方式

    這篇文章主要介紹了Spring?Security全新版本的使用方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Spring boot集成Go-FastDFS實(shí)現(xiàn)圖片上傳刪除等功能實(shí)現(xiàn)

    Spring boot集成Go-FastDFS實(shí)現(xiàn)圖片上傳刪除等功能實(shí)現(xiàn)

    這篇文章主要介紹了Spring boot集成Go-FastDFS實(shí)現(xiàn)圖片上傳刪除等功能實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Spring?Data?JPA?在?@Query?中使用投影的方法示例詳解

    Spring?Data?JPA?在?@Query?中使用投影的方法示例詳解

    這篇文章主要介紹了Spring?Data?JPA?在?@Query?中使用投影的方法,大家需要注意如果要在 @Query 中使用投影,必須要主動(dòng)聲明要查詢的字段,并且主動(dòng)寫明字段的別名才行,本文通過sql代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-07-07
  • java synchronized用法詳解

    java synchronized用法詳解

    本篇文章主要介紹了java synchronized用法詳解,synchronized是Java中的關(guān)鍵字,是一種同步鎖。有興趣的同學(xué)可以了解一下。
    2016-11-11
  • Java的CopyOnWriteArrayList操作詳解

    Java的CopyOnWriteArrayList操作詳解

    這篇文章主要介紹了Java的CopyOnWriteArrayList操作詳解,  CopyOnWriteArrayList是ArrayList 的一個(gè)線程安全的變體,其中所有可變操作(add、set等等)都是通過對(duì)底層數(shù)組進(jìn)行一次新的復(fù)制來(lái)實(shí)現(xiàn)的,需要的朋友可以參考下
    2023-12-12

最新評(píng)論