這篇文章給大家介紹如何在Java項(xiàng)目中使用JLabel標(biāo)簽,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
武城網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,武城網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為武城上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的武城做網(wǎng)站的公司定做!
1. 概述
官方JavaDocsApi: javax.swing.JLabel
JLabel,標(biāo)簽。標(biāo)簽主要用于展示 文本 或 圖片,也可以 同時(shí)顯示文本和圖片。
JLabel 的構(gòu)造方法:
/* * 構(gòu)造方法中的參數(shù)含義: * text: 標(biāo)簽顯示的 文本 * image: 標(biāo)簽顯示的 圖片 * horizontalAlignment: 標(biāo)簽內(nèi)容(在標(biāo)簽內(nèi))的水平對(duì)其方式(豎直方向默認(rèn)居中, 可通過(guò)方法設(shè)置) */ JLabel() JLabel(String text) JLabel(String text, int horizontalAlignment) JLabel(Icon image) JLabel(Icon image, int horizontalAlignment) JLabel(String text, Icon image, int horizontalAlignment)
JLabel 的常用方法:
// 設(shè)置 文本 和 圖片 void setText(String text) void setIcon(Icon icon) // 設(shè)置文本相對(duì)于圖片的位置(文本默認(rèn)在圖片右邊垂直居中) void setHorizontalTextPosition(int textPosition) void setVerticalTextPosition(int textPosition) // 設(shè)置標(biāo)簽內(nèi)容(在標(biāo)簽內(nèi))的對(duì)其方式(默認(rèn)左對(duì)齊并垂直居中) void setHorizontalAlignment(int alignment) void setVerticalAlignment(int alignment) // 設(shè)置圖片和文本之間的間隙 void setIconTextGap(int iconTextGap) /* * 下面的方法定義在 JComponent 基類中 */ // 設(shè)置文本的字體類型、樣式 和 大小 void setFont(Font font) // 設(shè)置字體顏色 void setForeground(Color fg) // 當(dāng)鼠標(biāo)移動(dòng)到組件上時(shí)顯示的提示文本 void setToolTipText(String text) // 設(shè)置組件的背景 void setBackground(Color bg) // 設(shè)置組件是否可見 void setVisible(boolean visible) // 設(shè)置組件是否為 不透明,JLabel默認(rèn)為透明,設(shè)置為不透明后才能顯示背景 void setOpaque(boolean isOpaque) // 設(shè)置組件的 首選 大小 void setPreferredSize(Dimension preferredSize) // 設(shè)置組件的 最小 大小 void setMinimumSize(Dimension minimumSize) // 設(shè)置組件的 最大 大小 void setMaximumSize(Dimension maximumSize) /* * 上面的對(duì)齊參數(shù)具體的取值常量參考 DocsApi; * setXXX(...) 方法往往都對(duì)應(yīng)著 getXXX() 方法。 */
顯示圖片時(shí),Icon實(shí)例的創(chuàng)建(一般創(chuàng)建ImageIcon,ImageIcon 實(shí)現(xiàn)了 Icon):
ImageIcon 的構(gòu)造方法:
// 使用 本地路徑 圖片創(chuàng)建 ImageIcon ImageIcon(String filename) // 使用 網(wǎng)絡(luò)路徑 圖片創(chuàng)建 ImageIcon ImageIcon(URL location) // 使用圖片文件的字節(jié)數(shù)組創(chuàng)建 ImageIcon ImageIcon(byte[] imageData) // 使用 java.awt.Image 實(shí)例創(chuàng)建 ImageIcon ImageIcon(java.awt.Image image)
java.awt.Image 實(shí)例的創(chuàng)建:
// 方法一: 通過(guò) java.awt.Toolkit 工具類來(lái)讀取本地、網(wǎng)絡(luò) 或 內(nèi)存中 的 圖片(支持 GIF、JPEG 或 PNG) Image image = Toolkit.getDefaultToolkit().getImage(String filename); Image image = Toolkit.getDefaultToolkit().getImage(URL url); Image image = Toolkit.getDefaultToolkit().createImage(byte[] imageData); // 方法二: 通過(guò) javax.imageio.ImageIO 工具類讀取本地、網(wǎng)絡(luò) 或 內(nèi)存中 的 圖片(BufferedImage 繼承自 Image) BufferedImage bufImage = ImageIO.read(File input); BufferedImage bufImage = ImageIO.read(URL input); BufferedImage bufImage = ImageIO.read(InputStream input); /* * PS_01: 圖片寬高: BufferedImage 可以通過(guò) bufImage.getWidth() 和 bufImage.getHeight() 方法直接獲取圖片的寬高; * Image 獲取寬高需要另外傳入一個(gè) ImageObserver 參數(shù)。 * * PS_02: 圖片裁剪: BufferedImage 通過(guò) bufImage.getSubimage(int x, int y, int w, int h) 方法可以截取圖片的 * 任意一部分,返回一個(gè)新的 BufferedImage 實(shí)例。 * * PS_03: 圖片縮放: Image 通過(guò) image.getScaledInstance(int width, int height, int hints) 方法可以對(duì)圖片進(jìn)行 * 縮放,返回新的一個(gè) Image 實(shí)例。 */
2. 代碼實(shí)例
package com.xiets.swing; import javax.swing.*; import java.awt.*; public class Main { public static void main(String[] args) { JFrame jf = new JFrame("測(cè)試窗口"); jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // 創(chuàng)建內(nèi)容面板,默認(rèn)使用流式布局 JPanel panel = new JPanel(); /* * 只顯示文本 */ JLabel label01 = new JLabel(); label01.setText("Only Text"); label01.setFont(new Font(null, Font.PLAIN, 25)); // 設(shè)置字體,null 表示使用默認(rèn)字體 panel.add(label01); /* * 只顯示圖片 */ JLabel label02 = new JLabel(); label02.setIcon(new ImageIcon("demo01.jpg")); panel.add(label02); /* * 同時(shí)顯示文本和圖片 */ JLabel label03 = new JLabel(); label03.setText("文本和圖片"); label03.setIcon(new ImageIcon("demo02.jpg")); label03.setHorizontalTextPosition(SwingConstants.CENTER); // 水平方向文本在圖片中心 label03.setVerticalTextPosition(SwingConstants.BOTTOM); // 垂直方向文本在圖片下方 panel.add(label03); jf.setContentPane(panel); jf.pack(); jf.setLocationRelativeTo(null); jf.setVisible(true); } }
結(jié)果展示:
關(guān)于如何在Java項(xiàng)目中使用JLabel標(biāo)簽就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。