📄 preview.java
字号:
package org.loon.framework.ide.test.dialog;
/**
* <p>Title: LoonFramework</p>
* <p>Description:</p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company: LoonFramework</p>
* @author chenpeng
* @email:ceponline@yahoo.com.cn
* @version 0.1
*/
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.print.PageFormat;
import org.loon.framework.ide.test.data.PreviewData;
class Preview extends Canvas {
/**
*
*/
private static final long serialVersionUID = 1L;
static final int NEXT = 1;
static final int BEFORE = 2;
PreviewData previewData;
int currentPage;
int maxPage;
int maxLine;
int left;
int top;
int lineSpace;
int size;
Font font;
Image image;
public Preview(String s, Font font1, PageFormat pageformat) {
font = font1;
previewData = new PreviewData(s, font1, pageformat);
maxPage = previewData.getMaxPage();
maxLine = previewData.getMaxLine();
left = previewData.getSpaceLeft();
top = previewData.getSpaceTop();
lineSpace = previewData.getLineSpace();
size = font1.getSize();
if (previewData.getMaxWidth() < previewData.getMaxHeight())
setSize(354, 500);
else
setSize(500, 354);
}
public int paging(int i) {
if (i == 1) {
if (currentPage < maxPage - 1) {
currentPage++;
printImage();
}
} else if (currentPage > 0) {
currentPage--;
printImage();
}
int j = 0;
if (currentPage >= maxPage - 1)
j |= 1;
if (currentPage <= 0)
j |= 2;
return j;
}
public String getPageInfo() {
return (currentPage + 1) + " / " + maxPage;
}
public int getMaxPage() {
return maxPage;
}
public String getSheetFormat() {
String as[] = { "A4", "B5", "A6",
"None" };
byte result = 0;
int j = previewData.getMaxWidth();
int k = previewData.getMaxHeight();
int l = 0;
int i1 = 0;
if (j >= k) {
l = j;
i1 = k;
} else {
l = k;
i1 = j;
}
if (l >= 820 && l <= 860 && i1 >= 570 && i1 <= 620)
result = 0;
else if (l >= 700 && l <= 750 && i1 >= 490 && i1 <= 540)
result = 1;
else if (l >= 390 && l <= 450 && i1 >= 270 && i1 <= 320)
result = 2;
else
result = 3;
return as[result];
}
public void printImage() {
int i = previewData.getMaxWidth();
int j = previewData.getMaxHeight();
image = createImage(i, j);
Graphics g = image.getGraphics();
g.setFont(font);
g.setColor(Color.white);
g.fillRect(0, 0, i - 1, j - 1);
g.setColor(Color.black);
g.drawRect(0, 0, i - 1, j - 1);
String as[] = previewData.getPage(currentPage);
for (int k = 0; k < maxLine; k++)
if (as[k] != null)
g.drawString(as[k], left, top + k * (size + lineSpace));
repaint();
}
public void paint(Graphics g) {
if (image != null)
if (previewData.getMaxWidth() < previewData.getMaxHeight())
g.drawImage(image, 0, 0, 354, 500, this);
else
g.drawImage(image, 0, 0, 500, 354, this);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -