javaswing吧 关注:108贴子:328
  • 1回复贴,共1

在Java蜘蛛纸牌中怎样将图片放置在面板中?

只看楼主收藏回复

import java.awt.Color;
import java.awt.Image;
import java.awt.Point;
import java.awt.MenuItem;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
//用(整体和部分)布局界面
public class Spider extends JMenuBar {
private static Container pane = null;
//用于保存第一组数据的数组
private static JLabel groundLabel[] = null;
private static Spider cards[] = new Spider[104];
private static JLabel clickLabel = null;
static boolean canMove = false;
static boolean isFront = false;
static Point initPoint = null;
//静态方法可以直接访问静态方法或静态属性
public static void main(String args[]){
JFrame jFrame = new JFrame();
JMenuBar jMenuBar = new JMenuBar();
JLabel jLable = new JLabel();
jFrame.setTitle("java蜘蛛纸牌");
jFrame.setSize(1024, 742);
JMenu newGame = new JMenu("游戏");
JMenu help = new JMenu("帮助");
jMenuBar.add(newGame).add("开始");
jMenuBar.add(newGame).add("退出");
jMenuBar.add(help).add("查看");
//将菜单组合理的放置在jFrame组件内
jFrame.setJMenuBar(jMenuBar);
pane = jFrame.getContentPane();
pane.setBackground(new Color(0, 112, 26));
groundLabel = new JLabel[10];
int x1 = 20;
for (int i = 0; i < 10; i++)
{
groundLabel[i] = new JLabel();
groundLabel[i]
.setBorder(javax.swing.BorderFactory
.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));//绘制面板
groundLabel[i].setBounds(x1, 25, 71, 96);//每一个扑克牌的坐标位置和宽,高
// x += 101;
x1+=112; //每次for时x的横坐标都在以加112的基础上往右移
pane.add(groundLabel[i]);
}
//setVisible表示是否显示窗口,true显示,false不显示(默认)
jFrame.setVisible(true);
}//main
}//类结束


1楼2016-03-07 21:06回复
    重写jpanel,把图片直接初始化成它的背景,然后根据你的布局管理器,添加jpanel
    不过,话说那个动态的移动,我感觉比较难实现,这个不是问题吧


    IP属地:四川2楼2016-03-08 08:40
    回复