该界面是一个扑克牌的界面,布局非常简单,分成几个面板,其中一个面板中放置的是两个按钮Button1和Button2,分别表示"出牌"与"过牌";另外一个面板内嵌9个面板,分别放置9张纸牌,选中其中的扑克牌,点击"出牌"可将图片显示到屏幕上.只有70分了,请大哥大姐帮个忙,帮我实现一下,在下感激不劲.

解决方案 »

  1.   

    /*我来给你实现了下,下面这段程序只放了两张牌,运行了一番,基本实现了你所要求的功能,但是在具体环节上,如当一张牌出过之后,它留下位置,应怎么处理,这都没有给予考虑*//**
     * 
     */
    package com.yao;import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.ImageIcon;/**
     * @author 
     * 
     */
    public class CardFrame extends JFrame implements MouseListener { /**
     * @param args
     */
    JButton outCard, passCard; JPanel control, mainPanel, showPanel; JLabel label; JLabel aceCard, kingCard; public CardFrame() {
    setSize(600, 600);
    Container cp = getContentPane();
    cp.setLayout(new BorderLayout());
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    control = new JPanel();
    control.setPreferredSize(new Dimension(100, 100));
    control.setLayout(new FlowLayout()); outCard = new JButton("OUT");
    passCard = new JButton("PASS");
    outCard.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    if (label == null) {
    JOptionPane.showMessageDialog(CardFrame.this, "请选牌");
    return;
    }
    mainPanel.remove(label);
    mainPanel.revalidate(); showPanel.add(label);
    showPanel.revalidate();

    validate();
    repaint(); }
    });
    passCard.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    label = null;
    return;
    }
    }); control.add(outCard);
    control.add(passCard); cp.add(control, BorderLayout.SOUTH); mainPanel = new JPanel();
    mainPanel.setPreferredSize(new Dimension(300,300));
    mainPanel.setLayout(null); aceCard = new Card(this, new ImageIcon("ace.gif"));
    kingCard = new Card(this, new ImageIcon("king.gif"));
    aceCard.setBounds(100,50,100,100);
    kingCard.setBounds(200,50,100,100); mainPanel.add(aceCard);
    mainPanel.add(kingCard); cp.add(mainPanel, BorderLayout.CENTER); showPanel = new JPanel();
    showPanel.setPreferredSize(new Dimension(200,200)); cp.add(showPanel, BorderLayout.NORTH); setVisible(true);
    } public static void main(String[] args) {
    // TODO 自动生成方法存根
    new CardFrame(); } public void mouseClicked(MouseEvent e) {
    // TODO 自动生成方法存根 } public void mouseEntered(MouseEvent e) {
    // TODO 自动生成方法存根 } public void mouseExited(MouseEvent e) {
    // TODO 自动生成方法存根 } public void mousePressed(MouseEvent e) {
    // TODO 自动生成方法存根
    if (e.getSource() instanceof JLabel)
    label = (JLabel) e.getSource(); } public void mouseReleased(MouseEvent arg0) {
    // TODO 自动生成方法存根 }}/**
     * 
     */
    package com.yao;import javax.swing.ImageIcon;
    import javax.swing.JLabel;
    /**
     * @author 
     *
     */
    public class Card extends JLabel {
    public Card(CardFrame frame,ImageIcon icon){
    super(icon);
    addMouseListener(frame);

    }}
      

  2.   

    Geek618() ( ) 
    ____________________________________
    我调试你的代码不知道为什么图片显示不出来,显示一个白色的面板
      

  3.   

    不可能吧,你确认.gif图片是和编译文件放在一起的吗?
    在试试吧!
      

  4.   

    Geek618() ( ) 
    --------------------
    图片可以演示,学习了!!