swing中繪圖


例子:

import java.awt.Color;
import java.awt.Frame;
import java.awt.*;

import javax.swing.*;

public class MyFrame extends JFrame {
 public MyFrame() {
  this.setTitle("我的第一個窗體");// 設置窗體的標題
  MyPanel panel = new MyPanel();
  this.getContentPane().add(panel);
  this.setSize(300, 300);// 設置窗體的大小
  this.setLocation(260, 150);// 設置窗體的初始位置
  this.setResizable(false);
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  System.out.println("asd");
  // this.setBounds(260, 150, 300, 300);//設置窗體的坐標、大小,相當於前面2行代碼
 }
 public static void main(String[] args) {
  MyFrame frame = new MyFrame();
  frame.setVisible(true);
 }
}

class MyPanel extends JPanel {
 // 覆蓋JPanel的paint方法,程序自動調用paint方法,窗口最小化,再最大化,窗口大小變化
 // Graphics是繪圖的重要類,可以理解成一只畫筆
 public void paint(Graphics g) {
  // 1.調用父類函數完成初始化
  // 這句話不能少
  super.paint(g);
  System.out.println("paint coming");
  // 畫圓,還可話直線,矩形邊框,等圖像
  g.drawOval(10, 10, 30, 30);
  Image im = Toolkit.getDefaultToolkit().getImage(
    Panel.class.getResource("/images/dog.jpg"));//獲取圖片,其中"/images/dog.jpg"表示bin目錄下的images/dog.jpg
  System.out.println(Panel.class.getResource("/images/dog.jpg"));
  // 顯示圖片
  g.drawImage(im, 10, 10, 200, 150, this);
  // 如何畫出字
  g.setColor(Color.red);
  g.setFont(new Font("華文彩雲", Font.BOLD, 30));
  g.drawString("祖國萬歲", 100, 100);
  g.setColor(Color.yellow);
  // 畫出我的坦克(到時再封裝成一個函數)
  // 1.畫出左邊的矩形
  g.fillRect(10, 10, 15, 15);
 }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM