Java,
Java,
我是一个有着五年经验的3D动画师,一直服务于游戏行业。由于一些复杂的原因,这项制作技术已经在我的职业生涯中,退居二线。以28岁的高龄毅然决然选择了编程,作为我新职业发展的突破口,并且信心十足。目前还在学习中,晚上利用Swing基础知识,写了一个小程序,传上来,记录一下自己的起点。
package my;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import af.swing.AfPanel;
import af.swing.image.AfImageView;
import af.swing.layout.AfRowLayout;
public class MyFrame extends JFrame
{
AfImageView AI = new AfImageView(); //创建一个AfImage用来显示大图
List<ThumbButton> LI = new ArrayList<>(); //创建一个泛型的动态数组
public MyFrame (String titel)
{
super(titel);
JPanel JP = new JPanel (); //创建一个顶层面板,用来容纳所有控件
this.setContentPane(JP); //设置顶层面板类型
JP.setLayout(new BorderLayout()); //给顶层面板创建新的边框布局
AI.setBackground(Color.BLACK); //给大图设置一个背景色
AI.setScaleType(AfImageView.FIT_CENTER); //给大图设置一个显示尺寸
AI.setBorder(BorderFactory.createMatteBorder(1, 0, 0, 0, Color.LIGHT_GRAY)); //给大图创建一个边框
JP.add(AI,BorderLayout.CENTER); //将大图添加至顶层面板,并设置在其内部显示的位置
AfPanel AP = new AfPanel(); //创建一个AfPanel用来显示预览列表
AP.layout(new AfRowLayout(10)); //创建列表显示为数
AP.padding(10).preferredHeight(80); //设置列表间的间距和显示高度
JP.add(AP,BorderLayout.PAGE_START);
ThumbClikListener TCL = new ThumbClikListener(); //创建获取用户点击事件
File ID = new File("images"); //创建资源文件变量,并获取地址
File [] IS = ID.listFiles(); //使用listFiles方法获取资源文件变量(包含地址)
for (File F : IS) //循环访问文件组里面的每个文件
{
ThumbButton B = new ThumbButton(F); //创建ThumbButton类的对象变量并设置文件
AP.add(B,"auto"); //给顶层面板添加ThumbButton变量
LI.add(B); //给泛型的动态数组添加ThumbButton变量
B.setPreferredSize(new Dimension(80,80)); //设置ThumbButton的显示尺寸;给景色;边框颜色
B.setBgColor(Color.WHITE);
B.setBorder(BorderFactory.createLineBorder(Color.WHITE));
B.addMouseListener(TCL); //给ThumbButton添加点击事件
}
}
private class ThumbClikListener extends MouseAdapter //创建鼠标点击事件
{
@Override
public void mouseClicked(MouseEvent e)
{
ThumbButton TB = (ThumbButton)e.getSource();
for (ThumbButton B:LI)
{
if (B == TB )
{
B.setBorder(BorderFactory.createLineBorder(new Color (0x1E9FF),3));
}
else
{
B.setBorder(BorderFactory.createLineBorder(Color.WHITE,3));
}
}
AI.setImage(TB.image);
}
}
}
相关文章
- 暂无相关文章
用户点评