以JPanel为基础实现一个图相框

代码:


import java.awt.Graphics;

import javax.swing.ImageIcon;
import javax.swing.JPanel;

public class Picture extends JPanel {
private static final long serialVersionUID = -4437881316229152596L;

private ImageIcon icon;

public Picture(java.net.URL imgURL) {
icon = new ImageIcon(imgURL);
}

public void paintComponent(Graphics g) {
int x = 0, y = 0;

g.drawImage(icon.getImage(), x, y, getSize().width, getSize().height,
this);

while (true) {
g.drawImage(icon.getImage(), x, y, this);

if (x > getSize().width && y > getSize().height){
break;
}

if (x > getSize().width) {
x = 0;
y += icon.getIconHeight();
} else{
x += icon.getIconWidth();
}
}
}
}

使用实例:

Picture picture=new Picture(getClass().getResource("/welcome.jpg"));

效果图:

以JPanel为基础实现一个图相框,码迷,mamicode.com

时间: 2025-01-03 21:20:51

以JPanel为基础实现一个图相框的相关文章

(转)判断一个图是否有环 无向图 有向图

无向图: 法1: 如果存在回路,则必存在一个子图,是一个环路.环路中所有顶点的度>=2. n算法: 第一步:删除所有度<=1的顶点及相关的边,并将另外与这些边相关的其它顶点的度减一. 第二步:将度数变为1的顶点排入队列,并从该队列中取出一个顶点重复步骤一. 如果最后还有未删除顶点,则存在环,否则没有环. n算法分析: 由于有m条边,n个顶点.如果m>=n,则根据图论知识可直接判断存在环路. (证明:如果没有环路,则该图必然是k棵树 k>=1.根据树的性质,边的数目m = n-k.k

克隆一个图

克隆一个图结构. 1 struct Node{ 2 vector<Node*> neighbors; 3 }; 代码如下: 1 typedef unordered_map<Node*, Node*> Map; 2 3 Node* cloneGraph(Node* graph) 4 { 5 if (!graph) 6 return NULL; 7 8 Map map; 9 Node* graphCopy = new Node(); 10 map[graph] = graphCopy;

poj Transferring Sylla(如何快速的判断一个图是否是3—连通图,求割点,割边)

Transferring Sylla 首先,什么是k连通图?k连通图就是指至少去掉k个点使之不连通的图. 题目: 题目描述的很裸,就是给你一张图要求你判断这图是否是3-连通图. 算法分析: ///////////////////////////////////////////////////////////////////// (网上别人的分析,分析的很好所以直接引用了) 考虑一下不可行的情况,就是存在两点间的路径条数<3情况,那么我们可以去枚举两个点a和b,然后将其和相邻的边删除,然后判断联通

并查集(判断一个图有几个连通块)

import java.util.Scanner; // 并查集 判断一个图中有几个联通块 public class UnionFind { private int[] father;// private int count;// 分量数量 public UnionFind(int N){ count=N; father=new int[N]; for(int i=0;i<N;i++){ father[i]=i; } } public int count() { return count; }

判断一个图是否有环 无向图 有向图(转)

没有找到原文出处,请参考一下链接: http://www.cnblogs.com/hiside/archive/2010/12/01/1893878.html http://topic.csdn.net/u/20071023/11/3edb81fc-37b2-4506-906e-44dc0fc521f2.html 一.无向图: 方法1: 如果存在回路,则必存在一个子图,是一个环路.环路中所有顶点的度>=2. n算法: 第一步:删除所有度<=1的顶点及相关的边,并将另外与这些边相关的其它顶点的度

判欧拉回路或求一个图中欧拉图的个数

判欧拉图两个条件首先联通,其次度全部为欧度.那么就很easy了. 题目:hdoj1878 求一个图中欧拉图的个数. 首先通过连通性求出各个子图,然后求子图中奇数度的个数cnt,cnt/2为欧拉图的个数.若子图没有奇数度,则为一个欧拉回路. 题目:hdoj3018Ant Trip 注意这个题目中可能出现孤立点,不算入欧拉图中. AC代码: include include include include include include include include include include

【C++】判断一个图是否有环 无向图 有向图(转载)

没有找到原文出处,请参考一下链接: http://www.cnblogs.com/hiside/archive/2010/12/01/1893878.html http://topic.csdn.net/u/20071023/11/3edb81fc-37b2-4506-906e-44dc0fc521f2.html 一.无向图: 方法1: 如果存在回路,则必存在一个子图,是一个环路.环路中所有顶点的度>=2. n算法: 第一步:删除所有度<=1的顶点及相关的边,并将另外与这些边相关的其它顶点的度

Spark技术内幕:一个图搞定Spark到底有多少行代码

Spark1.0.0发布一个多月了,那么它有多少行代码(Line of Code, LOC)? 注:代码统计未包含测试,sample. Spark技术内幕:一个图搞定Spark到底有多少行代码

邻接表来存储一个图

//用邻接表来存储一个图 int n, m, i; int u[6], v[6], w[6]; int first[5], next[5]; scanf("%d%d", &n, &m); //初始化first数组下标1~n的值为-1, 表示1~n顶点暂时都没有边 for(i = 1; i <= n; ++i) first[i] = -1; for(i = 1; i <= m; ++i) { scanf("%d %d %d", &u