package ilist.ui;
import ilist.DataCenter;
import ilist.ItemFilter;
import ilist.DataCenter.HistoryChangeEvent;
import ilist.DataCenter.HistoryChangeListener;
import ilist.item.BasicItem;
import ilist.ui.generic.GraphicsUtilities;
import ilist.ui.generic.borders.FrameShadowBorder;
import ilist.ui.generic.borders.RoundedBorder;
import ilist.ui.generic.borders.ShadowBorder;
import ilist.ui.generic.components.breadcrumb.BreadcrumbChangeListener;
import ilist.ui.generic.components.breadcrumb.BreadcrumbItem;
import ilist.ui.generic.components.breadcrumb.JBreadcrumb;
import ilist.ui.generic.components.tagcloud.JTagCloud;
import ilist.ui.generic.components.tagcloud.TagCloudModel;
import ilist.ui.generic.components.tagcloud.TagSelectionEvent;
import ilist.ui.generic.components.tagcloud.TagSelectionListener;
import ilist.ui.generic.components.toolbar.CustomizedToolbar;
import ilist.ui.generic.layers.CompoundLayerUI;
import ilist.ui.generic.layers.GridLayerUI;
import ilist.ui.generic.layers.ListSearchHighlightLayerUI;
import ilist.ui.generic.paints.RadialGradientPaint;
import ilist.ui.generic.uis.ImageSeparatorUI;
import ilist.ui.generic.uis.ImageSplitPaneUI;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Paint;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.TexturePaint;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.geom.Point2D;
import java.awt.image.BufferedImage;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.IOException;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import javax.imageio.ImageIO;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSlider;
import javax.swing.JSplitPane;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.ListSelectionModel;
import javax.swing.UIManager;
import javax.swing.border.Border;
import javax.swing.border.CompoundBorder;
import javax.swing.border.MatteBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import org.jdesktop.jxlayer.JXLayer;
import plug.engine.ui.swing.applestyle.PluginDialog;
import com.jhlabs.image.GlowFilter;
import com.jhlabs.image.NoiseFilter;
import com.sun.jna.examples.WindowUtils;
@SuppressWarnings("serial")
public class MainFrame extends JFrame {
private static MainFrame INSTANCE;
private static BufferedImage splitPaneSeparatorImg, toolbarSeparatorImg, logoImg;
private static BufferedImage minimizeImg, closeImg, minimizeOverImg, closeOverImg;
private static BufferedImage maximizeImg, maximizeOverImg, maximize2Img, maximize2OverImg;
private static BufferedImage resizeImg, prevImg, nextImg, zoomImg;
/* static */ {
try {
System.setProperty("sun.awt.noerasebackground", "true");
System.setProperty("sun.java2d.noddraw", "true");
System.setProperty("sun.java2d.opengl", "true");
UIManager.put("Button.textShiftOffset", 0);
splitPaneSeparatorImg = ImageIO.read(MainFrame.class.getResource("/separator.png"));
toolbarSeparatorImg = ImageIO.read(MainFrame.class.getResource("/toolbar.png"));
logoImg = ImageIO.read(MainFrame.class.getResource("/logo.png"));
minimizeImg = ImageIO.read(MainFrame.class.getResource("/minimize.png"));
maximizeImg = ImageIO.read(MainFrame.class.getResource("/maximize.png"));
closeImg = ImageIO.read(MainFrame.class.getResource("/close.png"));
minimizeOverImg = ImageIO.read(MainFrame.class.getResource("/minimize_over.png"));
maximizeOverImg = ImageIO.read(MainFrame.class.getResource("/maximize_over.png"));
closeOverImg = ImageIO.read(MainFrame.class.getResource("/close_over.png"));
maximize2OverImg = ImageIO.read(MainFrame.class.getResource("/maximize2_over.png"));
maximize2Img = ImageIO.read(MainFrame.class.getResource("/maximize2.png"));
resizeImg = ImageIO.read(MainFrame.class.getResource("/resizer.png"));
prevImg = ImageIO.read(MainFrame.class.getResource("/prev.png"));
nextImg = ImageIO.read(MainFrame.class.getResource("/next.png"));
zoomImg = ImageIO.read(MainFrame.class.getResource("/zoom-small.png"));
} catch (IOException e) {
e.printStackTrace();
}
}
public static MainFrame getInstance() {
if (INSTANCE == null)
INSTANCE = new MainFrame();
return INSTANCE;
}
private JPanel mainPanel;
private JList grid;
private CustomizedToolbar toolbar;
private JBreadcrumb<ItemFilter>breadcrumb;
private JToolBar breadcrumbToolbar;
private JPanel titleBar;
private JPanel header;
private JPanel footer;
private JPanel menu;
private JList list;
private BasicItemsListModel listModel;
private JButton maximize;
private Box boxAfterClose;
private InnerListener innerListener = new InnerListener();
private AddItemPanel addItemPanel;
private UIColorChooserPanel colorPanel;
private boolean updateNavigation = true;
private JXLayer<JList> gridLayer;
private JTagCloud tagCloud;
private Border frameBorder;
private ListSearchHighlightLayerUI highlightLayerUI = new ListSearchHighlightLayerUI();
private JXLayer<JComponent> mainLayer;
private Paint backgroundTitleBar;
private Paint backgroundBreadcrumb;
private Paint backgroundFooter;
private Color backgroundColor = new Color(234, 242, 245);
private ShadowBorder titleBarShadow, menuShadow, breadcrumbShadow, footerShadow;
private MainFrame() {
super("iList");
super.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
super.setSize(new Dimension(800, 600));
super.setPreferredSize(new Dimension(800, 600));
super.setMinimumSize(new Dimension(400, 300));
super.setLocationRelativeTo(null);
super.setUndecorated(true);
WindowUtils.setWindowTransparent(this, true);
mainPanel = new JPanel(new BorderLayout(), true);
mainPanel.setOpaque(false);
gridLayer = new JXLayer<JList>(getGrid());
CompoundLayerUI<JList> compoundLayerUI = new CompoundLayerUI<JList>(highlightLayerUI, new GridLayerUI());
gridLayer.setUI(compoundLayerUI);
JScrollPane scrollPane = new JScrollPane(gridLayer);
scrollPane.getViewport().setBackground(Color.WHITE);
scrollPane.setBorder(null);
mainPanel.add(scrollPane, BorderLayout.CENTER);
mainPanel.add(getHeader(), BorderLayout.NORTH);
mainPanel.add(getMenu(), BorderLayout.WEST);
mainPanel.add(getFooter(), BorderLayout.SOUTH);
mainPanel.setBorder(getFrameBorder());
mainLayer = new JXLayer<JComponent>(mainPanel);
this.add(mainLayer);
DataCenter.getInstance().addHistoryChangeListener(innerListener);
getTitleBar().addPropertyChangeListener(innerListener);
getBreadcrumbToolbar().addPropertyChangeListener(innerListener);
getFooter().addPropertyChangeListener(innerListener);
getMenu().addPropertyChangeListener(innerListener);
getGrid().addPropertyChangeListener(innerListener);
}
public Color getBackgroun
没有合适的资源?快使用搜索试试~ 我知道了~
java swing 漂亮软件界面源码

共333个文件
png:140个
class:106个
java:55个


温馨提示
老外牛人写的一个漂亮swing界面源码,没有用皮肤也很漂亮,附件为源码,学习swing的可以看看,确实不错 软件主界面图片地址 http://download.csdn.net/source/1072550
资源推荐
资源详情
资源评论








收起资源包目录





































































































共 333 条
- 1
- 2
- 3
- 4

johlon
- 粉丝: 18
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- cad箭头怎么填充颜色的.doc
- 2022暑期网站编辑社会实践报告.docx
- 2023年计算机理论导引实验报告上下文无关文法CFG.doc
- VB学生成绩管理系统真正完整很好很强大版.doc
- Excel表格通用模板:装修装饰工程报价单.xls
- TP-LINK路由器软件升级图解教程参考.doc
- 2023年软件项目管理课程设计实验报告.doc
- IP4.0试题回顾(12)(1)微软认证试题.docx
- PLC控制多层电梯系统的设计与研究毕业论文.doc
- 城市供水系统监控和自动化技术设备情况介绍.doc
- PLC实验指导书.doc
- XX项目管理办法[最终版].pdf
- 2023年9月统考试题计算机应用基础.doc
- MATLAB在复变函数中的一些应用修改后的.doc
- 初中计算机基础知识必备知识点.pdf
- 操作系统练习题.ppt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

- 1
- 2
- 3
- 4
- 5
- 6
前往页