JAVA學習Swing章節標籤JLabel中表徵圖的使用,swingjlabel

來源:互聯網
上載者:User

JAVA學習Swing章節標籤JLabel中表徵圖的使用,swingjlabel

package com.swing;import java.awt.Color;import java.awt.Component;import java.awt.Container;import java.awt.Graphics;import javax.swing.Icon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.SwingConstants;import javax.swing.WindowConstants;/** * 1:在Swing中顯示文本或提示資訊的方法是使用標籤,它支援文本字串和表徵圖 * 重點是標籤含有文本字串和表徵圖 *  * 2:標籤可以顯示一行唯讀文本,一個映像或帶映像的文本,它並不能產生任何類型的事件 * 只是簡單的顯示文本和圖片,但是可以使用標籤的特性指定標籤上文本的對齊 * 重點是只是簡單的顯示文本和圖片 *  * 3:JLabel標籤的構造方法,帶表徵圖,並且設定表徵圖水平對齊,帶文字,並設定文字的水平對齊 * 帶表徵圖帶文字,並且設定標籤內容的水平對其方式 *  * 4:Swing上面的表徵圖可以放置在按鈕,標籤,等組件上面,用於描述組件的用途 *  * 5:Swing中通過Icon介面來實現建立圖表,可以在建立時給定表徵圖的大小,顏色等特性 * 如果使用Icon介面,必須實現Icon的三個介面 * @author biexiansheng * */public class DrawIcon implements Icon{//實現Icon的介面,必須實現Icon的三個方法    private int width;//聲明表徵圖的寬    private int height;//聲明表徵圖的長    //定義構造方法    public DrawIcon(int width,int height){        this.width=width;        this.height=height;    }    @Override    public void paintIcon(Component c, Graphics g, int x, int y) {        // TODO Auto-generated method stub        g.fillOval(x,y,width,height);        //此處的學習痛點在Graphics那一章節。    }    @Override    public int getIconWidth() {//實現getIconWidth()方法        // TODO Auto-generated method stub        return this.width;    }    @Override    public int getIconHeight() {//實現getIconHeight()方法        // TODO Auto-generated method stub        return this.height;    }        public static void main(String[] args) {        DrawIcon icon=new DrawIcon(150,150);//初始化並且向構造方法傳值        //建立一個標籤,並設定標籤上的文字在標籤正中間        JLabel jl=new JLabel("測試",icon,SwingConstants.CENTER);                        JFrame jf=new JFrame();//建立一個JFrame視窗        Container container=jf.getContentPane();//將視窗轉換為容器        container.setBackground(Color.BLUE);                container.add(jl);        //設定容器的外部屬性        jf.setTitle("標籤的使用,建立表徵圖");        jf.setVisible(true);        jf.setSize(340,400);        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);    }    }

執行個體運行結果如下

 

 

package com.swing;import java.awt.Container;import java.net.URL;import javax.swing.Icon;import javax.swing.ImageIcon;/** * 1:Swing中的表徵圖除了可以繪製以外,還可以使用某個特定的圖片建立。 * Swing利用javax.swing.ImageIcon類根據現有的圖片建立表徵圖 * ImageIcon類實現了Icon介面,同時Java支援多種圖片格式 *  * 2:ImageIcon類有多個構造方法 *  * 第一建立一個通用的ImageIcon對象,當真正需要設定圖片時再使用ImageIcon對象 * 調用setImage(Image image)方法來操作 * 第二直接從圖片源建立圖表 * 第三除了可以直接從圖片源建立圖表之外,還可以為這個表徵圖添加簡短的描述 * 第四利用位於電腦網路上的影像檔建立表徵圖 */import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.SwingConstants;import javax.swing.WindowConstants;public class MyImageIcon extends JFrame {    public MyImageIcon(){        JFrame jf=new JFrame();//建立一個表單        Container container=jf.getContentPane();//將表單轉化為容器                //建立一個標籤//標籤的5種構造方法類型        JLabel jl=new JLabel("這是一個JFrame表單",JLabel.CENTER);                //擷取圖片所在的URL        URL url=MyImageIcon.class.getResource("imageButton.jpg");        //java.lang.Class類中的getResource()方法可以擷取資源檔的URL路徑        //該方法的參數是imageButton.jpg,這個路徑是相對於MyImageIcon類檔案的        //所以可將imageButton.jpg圖片放在和此類同一個檔案夾下面        Icon icon=new ImageIcon(url);//執行個體化Icon對象                jl.setIcon(icon);//為標籤設定圖片        //設定文字放置在標籤中間        jl.setHorizontalAlignment(SwingConstants.CENTER);        jl.setOpaque(true);//設定標籤為不透明狀態        container.add(jl);//將標籤添加到容器中                jf.setTitle("容器左上方");        jf.setSize(250, 100);        jf.setVisible(true);        //設定表單的關閉模式        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);    }    public static void main(String[] args) {        // TODO Auto-generated method stub        MyImageIcon icon=new MyImageIcon();//執行個體化對象就是實現構造方法    }}

執行個體運行結果如下

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.