如何使用Java程式設計列印圖形?
阿新 • • 發佈:2018-12-11
在我們的實際工作中,經常需要實現列印功能。但由於歷史原因,Java提供的列印功能一直都比較弱。實際上當初的jk根本不支援列印,直到jilk1.1才引入了很輕量的列印支援。
本文將通過一些具體的程式例項來說明如何使用Java程式設計列印圖形?
1、如何打印出一個三角形?
分析程式碼示例:
public class Test {
public static void main(String[] args) {
// 列印一個4行的三角形
// 外層迴圈打行
for (int i = 1; i <= 4; i++) {
// 打空格
for (int k = 1; k <=4-i; k++) {
System.out.print(" “);// 注意此處輸出不換行
}
// 內層迴圈打列
for (int j = 1; j <= i2-1; j++) {
// 每迴圈一次打一個
System.out.print(”");// 注意此處不換行,每次打到一行上面
}
// 每打完一行就換行
System.out.println();
}
}
}
2、如何打印出一個矩形?
比如我們要列印一個4行5列的矩形:首先我們要控制行數和列數,使用for迴圈的巢狀迴圈完成,外層迴圈控制行數,內層迴圈控制列數。
分析程式碼示例:
public class Test {
public static void main(String[] args) {
// 列印一個4行5列的矩形
// 外層迴圈打行
for (int i = 1; i <= 4; i++) {
// 內層迴圈打列
for (int j = 1; j <= 5; j++) {
// 每迴圈一次打一個
System.out.print("*");// 注意此處不換行,每次打到一行上面
}
// 每打完一行就換行
System.out.println();
}
}
}
3、如何打印出一個心形圖案?
心形圖案的實現,重點是心形函式r=a(1–sinθ),據說這是笛卡爾死前寄出的最後一封情書的內容,這裡面隱藏著一個刻骨銘心的祕密:“一生只為等待能手繪這個函式給我的人”。心形函式要做直角座標系轉換,然後投影到xOy平面上,就可以呼叫畫橢圓方法來實現畫心形圖案。
分析程式碼示例:
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
public class First extends Applet
{
int width, height;
Image image; //緩衝區物件
Graphics g1;
public void init() //Applet初始化時呼叫
{
setBackground(Color.black); //設定背景
this.setSize(350, 310);
width = getSize().width; //獲得視窗寬度
height = getSize().height;
image = createImage(width, height); //建立影象物件
g1 = image.getGraphics();
}
public void paint(Graphics g) //繪圖方法
{
g1.clearRect(0, 0, width, height);
g1.setColor(Color.blue);
for(int i = 0; i <= 90; i++) //控制橫向變化
for(int j = 0; j <= 90; j++) //控制豎向變化
{
//轉換為直角座標
double r = Math.PI / 45 * i * (1 - Math.sin(Math.PI / 45 * j)) * 18;
double x = r * Math.cos(Math.PI / 45 * j) * Math.sin(Math.PI / 45 * i) + width / 2; //為了在中間顯示,加了偏移量
double y = -r * Math.sin(Math.PI / 45 * j) + height / 4;//為了在中間顯示,加了偏移量
g1.fillOval((int) x, (int)y, 2,2); //繪製點
}
//顯示快取區的可變Image物件
g.drawImage(image, 0, 0, this);
}
}