最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1. 概述

官方JavaDocsApi: javax.swing.JFrame

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

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

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

JFrame(String title)

JFrame 常用方法:

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

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

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

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

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

// 設(shè)置窗口的 位置(相對于屏幕左上角)
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)

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

/**
 * 設(shè)置窗口的相對位置。
 * 如果 comp 整個顯示區(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è)置窗口是否可見, 窗口對象剛創(chuàng)建和添加相應(yīng)組件后通過 setVisible(true) 繪制窗口, 其內(nèi)部組件可能要此時才有寬高值
void setVisible(boolean b)

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

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

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

2. 代碼實例

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("測試窗口");
  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) {
    // 點擊按鈕, 顯示新的一個窗口
    showNewWindow(jf);
   }
  });
  panel.add(btn);

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

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

  newJFrame.setSize(250, 250);

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

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

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

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

  // 在新窗口中顯示一個標簽
  JLabel label = new JLabel("這是一個窗口");
  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);
 }

}

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

相關(guān)文章

  • PowerJob的WorkerHealthReporter工作流程源碼解讀

    PowerJob的WorkerHealthReporter工作流程源碼解讀

    這篇文章主要為大家介紹了PowerJob的WorkerHealthReporter工作流程源碼解讀,
    2023-12-12
  • SpringBoot實現(xiàn)點餐系統(tǒng)的登錄與退出功能流程詳解

    SpringBoot實現(xiàn)點餐系統(tǒng)的登錄與退出功能流程詳解

    結(jié)束了Springboot+MyBatisPlus也是開始了項目之旅,將從后端的角度出發(fā)來整理這個項目中重點業(yè)務(wù)功能的梳理與實現(xiàn)
    2022-10-10
  • SpringCloud實現(xiàn)全鏈路灰度發(fā)布的示例詳解

    SpringCloud實現(xiàn)全鏈路灰度發(fā)布的示例詳解

    灰度發(fā)布是指在軟件或服務(wù)發(fā)布過程中,將新版本的功能或服務(wù)以較小的比例引入到生產(chǎn)環(huán)境中,僅向部分用戶或節(jié)點提供新功能的一種發(fā)布策略,下面我們就來學(xué)習(xí)一下SpringCloud如何實現(xiàn)全鏈路灰度發(fā)布
    2023-11-11
  • 一文帶你深入認識JAVA中的異常

    一文帶你深入認識JAVA中的異常

    Java異常處理成為社區(qū)中討論最多的話題之一,下面這篇文章主要給大家介紹了關(guān)于JAVA中異常的相關(guān)資料,文中通過代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用java具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-06-06
  • redisson.tryLock()參數(shù)的使用及理解

    redisson.tryLock()參數(shù)的使用及理解

    這篇文章主要介紹了redisson.tryLock()參數(shù)的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • mybatis?plus常用注解的具體使用

    mybatis?plus常用注解的具體使用

    本文主要介紹了mybatis?plus常用注解的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Java map 優(yōu)雅的元素遍歷方式說明

    Java map 優(yōu)雅的元素遍歷方式說明

    這篇文章主要介紹了Java map 優(yōu)雅的元素遍歷方式說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Java 自定義Spring框架與核心功能詳解

    Java 自定義Spring框架與核心功能詳解

    Spring框架是由于軟件開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限于服務(wù)器端的開發(fā)
    2021-10-10
  • 在Java中使用Jwt的示例代碼

    在Java中使用Jwt的示例代碼

    這篇文章主要介紹了在Java中使用Jwt的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 詳解Java語言中的抽象類與繼承

    詳解Java語言中的抽象類與繼承

    這篇文章主要為大家詳細介紹了Java語言中的抽象類與繼承的相關(guān)資料,文中的示例代碼講解詳細,對我們學(xué)習(xí)Java有一定的幫助,感興趣的小伙伴快跟隨小編一起了解一下
    2022-10-10

最新評論

锡林浩特市| 万山特区| 梅河口市| 平江县| 方正县| 姜堰市| 阜宁县| 和顺县| 措美县| 长武县| 郧西县| 石狮市| 桦南县| 靖宇县| 塔城市| 丹棱县| 五华县| 保康县| 桦南县| 龙门县| 延寿县| 彭泽县| 东丽区| 永丰县| 中卫市| 讷河市| 屏东县| 怀集县| 晋城| 池州市| 灵寿县| 响水县| 镇雄县| 平山县| 五台县| 清新县| 辽源市| 华阴市| 都匀市| 南陵县| 丽江市|