1. 程式人生 > 其它 >GUI程式設計(lcon、lmagelcon標籤、在label存放圖示及圖片)

GUI程式設計(lcon、lmagelcon標籤、在label存放圖示及圖片)

在label標籤中存放圖示


import java.util.Scanner;
//主視窗 lable:標籤,在lable中放置一個圖示和圖片 //ICON:圖示,ICON是一個介面,裡面有三個方法,並且我們是需要重寫的,第一個方法是paintIcon():畫一個圖示,getIconWidth():獲取圖示的寬,getIconHeight()獲取圖示的高 //開始:因為圖示是一個介面,所以我們這個類要實現他的接口才會,那圖示肯定是要寫窗體內的,所以我們也要建立窗體 public class IconDem extends JFrame implements Icon { private int
Width;// private int height;////無參構造 public IconDem(){ } //使用構造器傳值,這樣可以讓下面的圖示方法獲取到值 public IconDem(int Width,int height){ this.Width=Width; this.height=height; } //初始化窗體 public void init(){ IconDem iconDemo= new IconDem(15,15);//設定圖示的寬高
//獲取放在標籤上,也可以放在按鈕上等 JLable lable=new JLable("icontest",iconDemo,SwingConstants.CENTER);//建立標籤,並且命名標題,然後設定標題的位置放在圖示的正中間 //建立容器,並把標籤放到容器中 Container container=getContentPane(); container.add(lable);//新增標籤,這樣就可以在窗體中顯示了 this.setVisible(true);//顯示視窗 this.setDefautCloseOperation(WindowConstants.EXIT_NO_CLOSE);//
設定預設關閉視窗 } public static void main(String[] args) { new IconDem().init(); } //為了我們這幾個方法能正常使用,那我們要建立兩個,寬高的成員屬性用來呼叫,因為方法需要所以我們才要建立 //畫圖示的方法 public void paintIcon(Component c,Graphics g,int x,int y){ //通過畫筆呼叫畫圖方法(fillOval),然後傳座標及寬高 g.fillOval(x,y,Width,height);//Width,height就是外部的成員變數 } //獲取圖示的寬 public int getIconWidth(){ //當構造器傳入值時,我們可以獲取到 return this.Width; } //獲取圖示的高 public int getIconHeight(){ //當構造器傳入值時,我們可以獲取到 return this.height; } }

 



在label標籤中存放圖片

import java.util.Scanner;
public class IconIconDem extends JFrame implements Icon { public IconIconDem(){ //建立標籤,並命名,之後把圖片放在標籤中 JLable label=new JLable("IconIconDem"); //獲取圖片的地址 URL url= IconIconDem.class.getResource("tx.jpg");//獲得當前class的類,下面同級資源名為tx.jpg檔案,所以要像這樣獲取檔案的話,就把檔案放在和IconIconDem一個包內,才可以用這個方法獲取 //new一個 IconIcon官方的類,然後就可以把圖片傳到IconIcon中,然後Jlabel標籤就可以用,這個類的物件來設定圖片了 IconIcon imconIcon= new IconIcon(url); //1.把圖片傳到標籤中,然後我們就可以使用標籤去設定圖片了,setIcon:設定圖片 label.setIcon(imconIcon); //2.然後用標籤物件去設定圖片居中 label.setHorizontalAlignment(SwingConstants.CENTER); //獲得容器 Container container=getContentPane(); //把標籤新增到容器中 container.add(label); //設定容器可見 setVisible(true); //設定預設關閉視窗 setDefautCloseOperation(WindowConstants.EXIT_NO_CLOSE); //設定座標及大小 setBounds(100,100,400,400); } public static void main(String[] args) { new IconIconDem(); } }