是Java建立視窗的套件,有圖形和使用者介面工具包,但是沒有彈性而且缺乏效率,而且是用C語言寫出來的,所以如果要跨平台又要重寫程式,耗時又耗資源
SWing是用Java撰寫的,和Java的特性一樣可以跨平台,他也有Awt的功能,Swing也是JFC(Java Foundation Classes),JFC是由適合開發圖形化介面的一組類別組成的,Swing有以下的特點
public JFrame() => 建立沒有標題的JFrame視窗
public JFrame() => 建立沒有標題的JFrame視窗
public Container getContentPane() => 取得Container容器元件
public void setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
=> 設定視窗有預設關閉的動作就是設定我們按下視窗的x就會關閉視窗
程式範例
public void setVisible(boolean b) => 設定視窗是否顯示
import javax.swing.*;
import java.awt.*;
public class Main extends JPanel{
@Override
// Java calls the paintComponent method whem it need to.
public void paintComponent(Graphics g){
int width = getWidth(); // 取得視窗當前寬度
int height = getHeight(); // 取得當前視窗高度
g.setColor(Color.PINK); // 設定顏色:PINK粉色
g.fillRect(0, 0, width, height); // 畫填滿設定顏色的長方形, 起點在(0,0)
// x軸延伸width長, y軸延伸height長
g.setColor(Color.red);
g.drawString("Hello Java", 100, 100); // 寫字(Hello Java),
// 設定起點在(100,100)
g.setColor(Color.yellow);
g.drawLine(0, 0, 50, 50); // 畫線(起點在(0,0)終點在(50,50))
g.setColor(Color.CYAN);
g.drawRect(80, 80, 100,30); // 畫方形框 起點在(80,80)寬100高30
g.setColor(Color.ORANGE);
g.fillRect(100, 100, 60, 5);
g.setColor(Color.GREEN);
g.fillOval(200, 200, 100, 50); // 畫填滿設定顏色的橢圓
// 起點在(200,200)橫軸100直軸50
ImageIcon img = new ImageIcon("images.jpg");
img.paintIcon(null, g, 50, 50); // 放上照片(images.jpg)起點在(50,50)
}
public static void main(String[] args) {
JFrame window = new JFrame(); // 建立名為window的JFrame物件
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setSize(300, 300); // 設定視窗大小
window.setContentPane(new Main()); //可以讓paintComponent裡面畫的東西
// 顯示在window裡面
window.setVisible(true); // 設定顯示視窗
}
}