資源簡介
使用JavaSwing繪制圖片,實現簡易的圖片查看器小程序。

代碼片段和文件信息
package?my;
import?java.awt.BorderLayout;
import?java.awt.Container;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?javax.swing.Box;
import?javax.swing.JButton;
import?javax.swing.Jframe;
public?class?Myframe?extends?Jframe
{
MyPanel?panel?=?new?MyPanel(); //實例自定義控件對象
public?Myframe(String?title)
{
super(title);
Container?root?=?getContentPane();
//設置布局為BorderLayout,中間顯示圖片,下方顯示控制按鈕
root.setLayout(new?BorderLayout());
Box?box?=?Box.createHorizontalBox(); //創建一個Box水平布局用于存放兩個按鈕
JButton?next?=?new?JButton(“下一張“);
JButton?back?=?new?JButton(“上一張“);
box.add(Box.createHorizontalGlue()); //按鈕左邊自動間距
box.add(back); //添加按鈕
box.add(Box.createHorizontalStrut(20)); //兩個按鈕中間相距20像素
box.add(next); //添加按鈕
box.add(Box.createHorizontalGlue()); //按鈕右邊自動間距
root.add(panel?BorderLayout.CENTER); //圖片顯示在中間
root.add(box?BorderLayout.PAGE_END); //按鈕顯示在下方
/**
?*?下一張按鈕監聽事件
?*?*/
next.addActionListener(new?ActionListener()?{
@Override
public?void?actionPerformed(ActionEvent?e)
{
//?TODO?Auto-generated?method?stub
NextImage();
}
});
/**
?*?上一張按鈕監聽事件
?*?*/
back.addActionListener(new?ActionListener()?{
@Override
public?void?actionPerformed(ActionEvent?e)
{
//?TODO?Auto-generated?method?stub
BackImage();
}
});
}
/**
?*?下一張
?*?*/
public?void?NextImage()
{
int?index?=?panel.index; //獲得當前圖片索引
int?size?=?panel.loadPath.length?-?1; //獲得所有圖片的數量,用于下面的算法。由于索引從0開始,所以這里-1
if(index?>=?0?&&?index? {
panel.index?+=?1; //索引+1,顯示后面一張
}
else?if(index?==?size) //如果當前顯示最后一張,則從第一張開始播放
{
panel.index?=?0;
}
panel.repaint(); //重新繪制圖片
}
/**
?*?上一張
?*?*/
public?void?BackImage()
{
int?index?=?panel.index;
int?size?=?panel.loadPath.length?-?1;
if(index?<=?size?&&?index?>?0)
{
panel.index?-=?1; //索引-1,顯示前面一張
}
else?if(index?==?0) //如果當前顯示第一張,則顯示最后一張圖
{
panel.index?=?size;
}
panel.repaint();
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????301??2019-04-01?14:53??Swing0401\.classpath
?????文件????????385??2019-04-01?14:53??Swing0401\.project
?????文件????????598??2019-04-01?14:53??Swing0401\.settings\org.eclipse.jdt.core.prefs
?????文件??????50954??2019-04-01?20:51??Swing0401\bin\images\mxt1.jpg
?????文件??????69154??2019-04-01?20:51??Swing0401\bin\images\mxt2.jpg
?????文件??????24711??2019-04-01?20:51??Swing0401\bin\images\mxt3.jpg
?????文件????????649??2019-04-01?20:15??Swing0401\bin\my\Myfr
?????文件????????649??2019-04-01?20:15??Swing0401\bin\my\Myfr
?????文件???????1949??2019-04-01?20:15??Swing0401\bin\my\Myfr
?????文件???????2919??2019-04-01?20:37??Swing0401\bin\my\MyPanel.class
?????文件????????493??2019-04-01?16:53??Swing0401\bin\my\SwingDemo$1.class
?????文件????????942??2019-04-01?16:53??Swing0401\bin\my\SwingDemo.class
?????文件??????50954??2019-04-01?20:51??Swing0401\src\images\mxt1.jpg
?????文件??????69154??2019-04-01?20:51??Swing0401\src\images\mxt2.jpg
?????文件??????24711??2019-04-01?20:51??Swing0401\src\images\mxt3.jpg
?????文件???????2565??2019-04-01?20:15??Swing0401\src\my\Myfr
?????文件???????2361??2019-04-01?20:37??Swing0401\src\my\MyPanel.java
?????文件????????619??2019-04-01?16:53??Swing0401\src\my\SwingDemo.java
?????目錄??????????0??2019-04-01?21:15??Swing0401\bin\images
?????目錄??????????0??2019-04-01?21:15??Swing0401\bin\my
?????目錄??????????0??2019-04-01?21:15??Swing0401\src\images
?????目錄??????????0??2019-04-01?21:15??Swing0401\src\my
?????目錄??????????0??2019-04-01?21:15??Swing0401\.settings
?????目錄??????????0??2019-04-01?21:15??Swing0401\bin
?????目錄??????????0??2019-04-01?21:15??Swing0401\src
?????目錄??????????0??2019-04-01?21:15??Swing0401
-----------?---------??----------?-----??----
???????????????304068????????????????????26
評論
共有 條評論