java 程序源代码.docx
- 文档编号:30100631
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:20
- 大小:19.51KB
java 程序源代码.docx
《java 程序源代码.docx》由会员分享,可在线阅读,更多相关《java 程序源代码.docx(20页珍藏版)》请在冰豆网上搜索。
java程序源代码
实现翻页
//源文件名:
album.java
//在下载源程序中的文件夹:
0709相册
importjava.applet.*;
importjava.awt.*;
importjava.awt.event.*;
publicclassalbumextendsAppletimplementsActionListener
{
Imageimg[];
intj=0;
Stringf;
Labela1=newLabel("文件名:
");
Labela2=newLabel("");
Buttonbtn1,btn2;
publicvoidinit()
{
img=newImage[22];
setLayout(null);
setBackground(Color.cyan);
add(a1);
add(a2);
btn1=newButton("下一页");
btn2=newButton("上一页");
add(btn1);
add(btn2);
a1.setBounds(650,60,60,30);
a2.setBounds(650,80,110,60);
a2.setBounds(650,80,110,60);
a1.setBackground(Color.cyan);
a2.setBackground(Color.cyan);
a2.setForeground(Color.red);
Fontft=newFont("TimesNewRomon",1,20);
a2.setFont(ft);
btn1.setBounds(650,180,60,30);
btn2.setBounds(650,240,60,30);
btn1.addActionListener(this);
btn2.addActionListener(this);
for(inti=0;i<22;i++)
{
f="pic"+Integer.toString(i)+".jpg";
img[i]=getImage(getCodeBase(),f);
}
}
publicvoidpaint(Graphicsg)
{
f="pic"+Integer.toString(j)+".jpg";
a2.setText(f);
intw=img[j].getWidth(this);
inth=img[j].getHeight(this);
g.drawImage(img[j],0,0,w,h,this);
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==btn1)
{
j++;
if(j>21)j=0;
}
if(e.getSource()==btn2)
{
j--;
if(j<0)j=21;
}
repaint();
}
实现图行化界面
packageswt_jface.demo11;
importorg.eclipse.swt.SWT;
importorg.eclipse.swt.events.PaintEvent;
importorg.eclipse.swt.events.PaintListener;
importorg.eclipse.swt.graphics.GC;
importorg.eclipse.swt.graphics.Image;
importorg.eclipse.swt.graphics.Point;
importorg.eclipse.swt.layout.GridData;
importorg.eclipse.swt.layout.GridLayout;
importorg.eclipse.swt.printing.PrintDialog;
importorg.eclipse.swt.printing.Printer;
importorg.eclipse.swt.printing.PrinterData;
importorg.eclipse.swt.widgets.Canvas;
importorg.eclipse.swt.widgets.Display;
importorg.eclipse.swt.widgets.Event;
importorg.eclipse.swt.widgets.FileDialog;
importorg.eclipse.swt.widgets.Listener;
importorg.eclipse.swt.widgets.Shell;
importorg.eclipse.swt.widgets.ToolBar;
importorg.eclipse.swt.widgets.ToolItem;
publicclassImageViewer{
Displaydisplay=newDisplay();
Shellshell=newShell(display);
Canvascanvas;
Imageimage;
StringfileName;
publicImageViewer(){
shell.setText("Imageviewer");
shell.setLayout(newGridLayout(1,true));
ToolBartoolBar=newToolBar(shell,SWT.FLAT);
ToolItemitemOpen=newToolItem(toolBar,SWT.PUSH);
itemOpen.setText("Open");
itemOpen.addListener(SWT.Selection,newListener(){
publicvoidhandleEvent(Eventevent){
FileDialogdialog=newFileDialog(shell,SWT.OPEN);
Stringfile=dialog.open();
if(file!
=null){
if(image!
=null)
image.dispose();
image=null;
try{
image=newImage(display,file);
}catch(RuntimeExceptione){
}
if(image!
=null){
fileName=file;
}else{
System.err.println(
"Failedtoloadimagefromfile:
"+file);
}
canvas.redraw();
}
}
});
ToolItemitemPrintPreview=newToolItem(toolBar,SWT.PUSH);
itemPrintPreview.setText("Preview");
itemPrintPreview.addListener(SWT.Selection,newListener(){
publicvoidhandleEvent(Eventevent){
ImagePrintPreviewDialogdialog=
newImagePrintPreviewDialog(ImageViewer.this);
dialog.open();
}
});
ToolItemitemPrint=newToolItem(toolBar,SWT.PUSH);
itemPrint.setText("Print");
itemPrint.addListener(SWT.Selection,newListener(){
publicvoidhandleEvent(Eventevent){
print();
}
});
canvas=newCanvas(shell,SWT.BORDER);
canvas.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
canvas.setLayoutData(newGridData(GridData.FILL_BOTH));
canvas.addPaintListener(newPaintListener(){
publicvoidpaintControl(PaintEvente){
if(image==null){
e.gc.drawString("Noimage",0,0);
}else{
e.gc.drawImage(image,0,0);
}
}
});
image=newImage(display,"C:
/icons/scene.jpg");
fileName="scene.jpg";
shell.setSize(500,400);
shell.open();
while(!
shell.isDisposed()){
if(!
display.readAndDispatch()){
display.sleep();
}
}
display.dispose();
}
voidprint(){
PrintDialogdialog=newPrintDialog(shell);
PrinterDataprinterData=dialog.open();
if(printerData==null)return;
Printerprinter=newPrinter(printerData);
print(printer,null);
}
voidprint(finalPrinterprinter,PrintMarginprintMargin){
if(image==null)return;
finalPointprinterDPI=printer.getDPI();
finalPointdisplayDPI=display.getDPI();
System.out.println(displayDPI+""+printerDPI);
finalPrintMarginmargin=(printMargin==null?
PrintMargin.getPrintMargin(printer,1.0):
printMargin);
ThreadprintThread=newThread(){
publicvoidrun(){
if(!
printer.startJob(fileName)){
System.err.println("Failedtostartprintjob!
");
printer.dispose();
return;
}
GCgc=newGC(printer);
if(!
printer.startPage()){
System.err.println("Failedtostartanewpage!
");
gc.dispose();
return;
}else{
intimageWidth=image.getBounds().width;
intimageHeight=image.getBounds().height;
doubledpiScaleFactorX=printerDPI.x*1.0/displayDPI.x;
doubledpiScaleFactorY=printerDPI.y*1.0/displayDPI.y;
doubleimageSizeFactor=
Math.min(
1,
(margin.right-margin.left)
*1.0
/(dpiScaleFactorX*imageWidth));
imageSizeFactor=
Math.min(
imageSizeFactor,
(margin.bottom-margin.top)
*1.0
/(dpiScaleFactorY*imageHeight));
gc.drawImage(
image,
0,
0,
imageWidth,
imageHeight,
margin.left,
margin.top,
(int)(dpiScaleFactorX*imageSizeFactor*imageWidth),
(int)(dpiScaleFactorY
*imageSizeFactor
*imageHeight));
gc.dispose();
}
printer.endPage();
printer.endJob();
printer.dispose();
System.out.println("Printingjobdone!
");
}
};
printThread.start();
}
publicstaticvoidmain(String[]args){
newImageViewer();
}
}
ImagePrintPreviewDialog.java
复制代码代码如下:
packageswt_jface.demo11;
importorg.eclipse.swt.SWT;
importorg.eclipse.swt.events.PaintEvent;
importorg.eclipse.swt.events.PaintListener;
importorg.eclipse.swt.graphics.Point;
importorg.eclipse.swt.graphics.Rectangle;
importorg.eclipse.swt.layout.GridData;
importorg.eclipse.swt.layout.GridLayout;
importorg.eclipse.swt.printing.PrintDialog;
importorg.eclipse.swt.printing.Printer;
importorg.eclipse.swt.printing.PrinterData;
importorg.eclipse.swt.widgets.Button;
importorg.eclipse.swt.widgets.Canvas;
importorg.eclipse.swt.widgets.Combo;
importorg.eclipse.swt.widgets.Dialog;
importorg.eclipse.swt.widgets.Event;
importorg.eclipse.swt.widgets.Label;
importorg.eclipse.swt.widgets.Listener;
importorg.eclipse.swt.widgets.Shell;
publicclassImagePrintPreviewDialogextendsDialog{
ImageViewerviewer;
Shellshell;
Canvascanvas;
Printerprinter;
PrintMarginmargin;
Combocombo;
publicImagePrintPreviewDialog(ImageViewerviewer){
super(viewer.shell);
this.viewer=viewer;
}
publicvoidopen(){
shell=
newShell(
viewer.shell,
SWT.DIALOG_TRIM|SWT.APPLICATION_MODAL|SWT.RESIZE);
shell.setText("Printpreview");
shell.setLayout(newGridLayout(4,false));
finalButtonbuttonSelectPrinter=newButton(shell,SWT.PUSH);
buttonSelectPrinter.setText("Selectaprinter");
buttonSelectPrinter.addListener(SWT.Selection,newListener(){
publicvoidhandleEvent(Eventevent){
PrintDialogdialog=newPrintDialog(shell);
PrinterDataprinterData=dialog.open();
if(printerData==null)return;
finalPrinterprinter=newPrinter(printerData);
setPrinter(
printer,
Double.parseDouble(
combo.getItem(combo.getSelectionIndex())));
}
});
newLabel(shell,SWT.NULL).setText("Marginininches:
");
combo=newCombo(shell,SWT.READ_ONLY);
combo.add("0.5");
combo.add("1.0");
combo.add("1.5");
combo.add("2.0");
combo.add("2.5");
combo.add("3.0");
combo.select
(1);
combo.addListener(SWT.Selection,newListener(){
publicvoidhandleEvent(Eventevent){
doublevalue=
Double.parseDouble(
combo.getItem(combo.getSelectionIndex()));
setPrinter(printer,value);
}
});
finalButtonbuttonPrint=newButton(shell,SWT.PUSH);
buttonPrint.setText("Print");
buttonPrint.addListener(SWT.Selection,newListener(){
publicvoidhandleEvent(Eventevent){
if(printer==null)
viewer.print();
else
viewer.print(printer,margin);
shell.dispose();
}
});
canvas=newCanvas(shell,SWT.BORDER);
GridDatagridData=newGridData(GridData.FILL_BOTH);
gridData.horizontalSpan=4;
canvas.setLayoutData(gridData);
canvas.addPaintListener(newPaintListener(){
publicvoidpaintControl(PaintEvente){
intcanvasBorder=20;
if(printer==null||printer.isDisposed())return;
Rectanglerectangle=printer.getBounds();
PointcanvasSize=canvas.getSize();
doubleviewScaleFactor=
(canvasSize.x-canvasBorder*2)*1.0/rectangle.width;
viewScaleFactor=
Math.min(
viewScaleFactor,
(canvasSize.y-canvasBorder*2)
*1.0
/rectangle.height);
intoffsetX=
(canvasSize.x-(int)(viewScaleFactor*rectangle.width))
/2;
intoffsetY=
(canvasSize.y-(int)(viewScaleFactor*rectangle.height))
/2;
e.gc.setBackground(
shell.getDisplay().getSystemColor(SWT.COLOR_WHITE));
e.gc.fillRectangle(
offsetX,
offsetY,
(int)(viewScaleFactor*rectangle.width),
(int)(viewScaleFactor*rectangle.height));
e.gc.setLineStyle(SWT.LINE_DASH);
e.gc.setForeground(shell.getDisplay().getSystemColor(SWT.COLOR_BLACK));
intmarginOffsetX=offsetX+(int)(viewScaleFactor*margin.left);
intmarginOffsetY=offsetY+(int)(viewScaleFactor*margin.top);
e.gc.drawRectangle(
marginOffsetX,
marginOffsetY,
(int)(viewScaleFactor*(margin.right-margin.left)),
(int)(viewScaleFactor*(ma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 程序源代码 程序 源代码