Java+Swing: 主界面的窗體 整理8

主界面的寫法跟之前登錄界面的窗體寫法大致相同,在主界面中主要是窗體的大小的設置

package com.student_view;import com.utils.DimensionUtil;
import sun.applet.Main;import javax.swing.*;
import java.awt.*;
import java.net.URL;/*** @Author:xiexu* @Date:2023/12/9 10:36*/
public class MainView extends JFrame {public MainView() {super("學生成績管理系統");Container contentPane = getContentPane();URL url = MainView.class.getClassLoader().getResource("tumblr.png");setIconImage(new ImageIcon(url).getImage());
//        setSize(800, 600);// 需要根據屏幕的大小,設置主界面窗口的大小:setBounds(DimensionUtil.getBounds());// 設置窗體完全充滿整個屏幕的可見大小setExtendedState(JFrame.MAXIMIZED_BOTH);setVisible(true);setLocationRelativeTo(null);setResizable(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}public static void main(String[] args) {new MainView();}
}

?

封裝一個工具類:來獲取電腦屏幕的大小

package com.utils;import javax.swing.*;
import java.awt.*;/*** @Author:xiexu* @Date:2023/12/9 10:47*/
public class DimensionUtil {public static Rectangle getBounds() {Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); // 獲取電腦屏幕的大小// 需要保證主界面不會覆蓋電腦屏幕的任務欄Insets screenInsets = Toolkit.getDefaultToolkit().getScreenInsets(new JFrame().getGraphicsConfiguration());// 需要使得左右兩邊完全填充,此時也需要設置setResizable(true);Rectangle rectangle = new Rectangle(screenInsets.left, screenInsets.top,screenSize.width - screenInsets.left - screenInsets.right,screenSize.height - screenInsets.top - screenInsets.bottom);return rectangle;}
}

運行結果展示:

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/209475.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/209475.shtml
英文地址,請注明出處:http://en.pswp.cn/news/209475.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C# --線程的進化史

1.C# 線程的進化史可以追溯到 .NET Framework 的早期版本和 C# 語言的發展過程 Thread 類(.NET Framework 1.0):最初,C# 中使用 Thread 類來創建和管理線程。通過實例化 Thread 類并調用其 Start 方法,可以在應用程序…

全面覆蓋,無所不包:C++ 編程必備指南 | 開源日報 No.99

fffaraz/awesome-cpp Stars: 51.0k License: MIT 這個項目是一個精心策劃的 C(或者 C) 框架、庫、資源和其他有趣東西的列表。它收集了各種標準庫,如 STL 容器和算法;不同領域的框架,比如人工智能、異步事件循環等;以及一系列功…

【人工智能Ⅰ】實驗7:K-means聚類實驗

實驗7 K-means聚類實驗 一、實驗目的 學習K-means算法基本原理,實現Iris數據聚類。 二、實驗內容 應用K-means算法對iris數據集進行聚類。 三、實驗結果及分析 0:輸出數據集的基本信息 參考代碼在main函數中首先打印了數據、特征名字、目標值、目標…

【上海大學數字邏輯實驗報告】四、組合電路(三)

一、 實驗目的 掌握多路選擇器74LS151的原理。掌握譯碼器74LS138的原理。學會在Quartus II上使用多路選擇74LS151設計電路。學會在Quartus II上使用譯碼器74LS138設計電路。 二、 實驗原理 多路選擇器又稱數據選擇器或多路開關,它是一種多路輸入單路輸出的組合邏…

HHDESK右鍵管理簡介

在HHDESK管理文件,除了基本的打開、刪除、復制、粘貼、重命名外,還有多種便捷編輯方式。 可以分別以下列模式打開文檔: 文本模式即是以文本編輯器打開文檔。 1 二進制模式 可進行二進制編輯。 2 JSON模式 可對JSON文件進行直觀的解析…

機器學習中的特征工程

1 特征工程概述 特征工程是機器學習中的一個關鍵步驟,在機器學習領域中占有非常重要的地位,是機器學習中不可或缺的一部分,下圖展示了一個常規的機器學習流程: 特征工程涉及從原始數據中提取、選擇和轉換特征,以改善模…

Lombok 處理異常@SneakyThrows 注解

文章目錄 注解的介紹具體示例 注解的介紹 SneakyThrows 是 Lombok 框架提供的一個注解,它可以用于在方法中拋出受檢異常時,不用顯式地對異常進行處理,而是將異常包裝成 RuntimeException 拋出 使用 SneakyThrows 注解后,編譯器會…

“輕松管理文件,一鍵導出表格,讓您的歸檔工作井井有條“

在忙碌的工作中,我們經常會被大量的文件和數據所困擾。如何有效地管理和整理這些資料,成為了一個讓人頭疼的問題。今天,我們向您介紹一款強大的文件管理工具——一鍵導出表格,幫助您輕松解決這個問題。 第一步,首先我們…

區塊鏈實驗室(30) - 區塊鏈期刊:Distributed Ledger Technologies: Research and Practice

區塊鏈涉及多學科及技術,眾多期刊接收區塊鏈文章。Distributed Ledger Technologies: Research and Practice是ACM出版集團的一本期刊。 Distributed Ledger Technologies: Research and Practice創刊歷史很短,始于2022年,出版期數也不多。 載…

力扣面試150題 | 多數元素

力扣面試150題 | 多數元素 題目描述解題思路代碼實現 題目描述 給定一個大小為 n 的數組 nums ,返回其中的多數元素。多數元素是指在數組中出現次數 大于 ? n/2 ? 的元素。 你可以假設數組是非空的,并且給定的數組總是存在多數元素。 示…

Leetcode 劍指 Offer II 056. 兩數之和 IV - 輸入二叉搜索樹

題目難度: 簡單 原題鏈接 今天繼續更新 Leetcode 的劍指 Offer(專項突擊版)系列, 大家在公眾號 算法精選 里回復 劍指offer2 就能看到該系列當前連載的所有文章了, 記得關注哦~ 題目描述 給定一個二叉搜索樹的 根節點 root 和一個整數 k , 請判斷該二叉…

Java 使用oshi獲取當前服務器狀態cpu、內存、存儲等核心信息

文章目錄 簡介相關資料maven依賴oshi-官方示例獲取CUP信息代碼獲取內存信息獲取磁盤信息 簡介 OSHI 是基于 JNA 的(本地)操作系統和硬件信息庫。它不需要安裝任何其他額外的本地庫,旨在提供一種跨平臺的實現來檢索系統信息,例如操…

[ROS2] --- action

1 action介紹 ROS通信機制也會被常常用到——那就是動作。從這個名字上就可以很好理解這個概念的含義,這種通信機制的目的就是便于對機器人某一完整行為的流程進行管理。 1.1 客戶端/服務器模型 動作和服務類似,使用的也是客戶端和服務器模型&#xf…

數據結構中處理散列沖突的四種方法

1 開放定址法 1.1 定義 開放定址法就是一旦發生了沖突,就去尋找下一個空的散列地址 1.2 要求 只要散列表足夠大 空的散列地址總能找到,并將記錄存入 1.3 線性探測法 使用該公式用于解決沖突的開放定址法稱為線性探測法 對于線性探測法&#xff0c…

【異常】SpringBoot3.2.0 Description: Failed to configure a DataSource: ‘url‘ att

mybatisPlus 多數據源導致 異常 Description:Failed to configure a DataSource: url attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver classAction:Consider the following:If you want an embed…

通過kubeadm方式安裝k8s

虛擬機最少是 2 core,master內存最小3G,node內存最小2G. 要求的Docker版本是18.03,如果不是安裝的docker ce,版本是過舊的,可以選擇刪除后重新安裝; 也可以重新創建一個虛擬機執行以下命令。 簡單方法&am…

線性代數基礎【1】行列式

第一節 行列式的基本概念和性質 一、基本概念 ①逆序 1,2和2,1是一對逆序 ②逆序數 1,2,3,5,4的逆序數為1;1,3,2,5,4逆序數為4; ③行列式 ④余子數和代數余子數 行列式挖掉一個數(例如aij),將原行列式去掉i行j列的行列式M,則M為余子數,代數余子數記為Aij,如果(ij)為偶數…

云LIS實驗室信息管理系統源碼——實驗室信息管理解決方案

云LIS(Cloud Laboratory Information System)是一種為區域醫療提供臨床實驗室信息服務的計算機應用程序,其主要功能是協助區域內所有臨床實驗室相互協調并完成日常檢驗工作,對區域內的檢驗數據進行集中管理和共享,通過…

uniapp引入插件市場echarts圖表(l-echart)實現小程序端圖表,并修改源碼簡化使用

使用的uniapp插件:l-echart https://ext.dcloud.net.cn/plugin?id4899 注意事項 1.因為小程序有主包分包大小限制,并且uni_modules中的包也會算在主包體積中,而我項目中的圖表是在分包中使用的,所以我移動uni_modules中的l-echart圖表組件…

Python 的list是...

對 Python list遺憾 sum 對列表執行正確的操作幾乎是不可能的。 my_list list(range(1, 100001))能夠執行 sum()、min() 和 max() 的情況非常罕見。 sum(my_list)5000050000比如mean(), std() ,這些也不行。 mean(my_list)----------------------------------…