⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cardwindow.java

📁 java编写的 游戏bingo 的源代码
💻 JAVA
字号:
package bingo.player;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.rmi.*;import bingo.shared.*;/* * TODO: Make number buttons prettier (use images). * Make headings prettier?  General layout tweaking. */public class CardWindow extends JFrame 			implements ActionListener {    private Card card;    Player player;    static int cellsPerSide = Card.SIZE;    public CardWindow(Card card, Player player) {	super("Bingo Card");	this.card = card;	this.player = player;        BingoBall[][] boardValues = card.boardValues;	setDefaultCloseOperation(DISPOSE_ON_CLOSE);	PaperPane paper = new PaperPane(null);	getContentPane().add("Center", paper);	JPanel numberPanel = new JPanel(false); 	numberPanel.setLayout(new GridLayout(cellsPerSide+1,					     cellsPerSide));	Heading heading;	char c;	for (int col = 0; col < cellsPerSide; col++) {	    heading = new Heading(card.columnTitles[col]);	    numberPanel.add(heading);	}	NumberButton button;	int number;	for (int col = 0; col < cellsPerSide; col++) {	    for (int row = 0; row < cellsPerSide; row++) {		number = boardValues[col][row].getNumber();		if (number == BingoBall.FREE_SPACE) {		    //XXX should use an icon for free space.	            button = new NumberButton("Free");		} else {	            button = new NumberButton(Integer.toString(number));		}		numberPanel.add(button);	    }	}	//XXX: Could make the winner button use an icon.	JButton winner = new JButton("Bingo! I won! Bingo!");	winner.addActionListener(this);	//Now that we've created the components, do the layout.	paper.setLayout(new BoxLayout(paper, BoxLayout.Y_AXIS));	paper.add(numberPanel);	//extra vertical space	paper.add(Box.createVerticalStrut(10)); 	winner.setAlignmentX(0.5f);	paper.add(winner);	//extra vertical space	paper.add(Box.createVerticalStrut(10));     }    public void actionPerformed(ActionEvent e) {	if (player != null) {	    player.IWon(this);	    if (Player.DEBUG) {		System.out.println("CardWindow called player.IWon");	    }	} else {	    System.err.println("player is null, so can't tell it "			       + "to check for a win.");	    showStatusDialog("player is null");	}    }    public Card getCard() {	return card;    }    //MUST be called from the event dispatching thread.    public void showStatusDialog(String text) {	JOptionPane.showMessageDialog(null, text);    }    public static void main(String[] args) {	CardWindow cw = new CardWindow(new Card(), null);	cw.addWindowListener(new WindowAdapter() {	        public void windowClosing(WindowEvent e) {		    System.exit(0);	        }	    });	cw.pack();	cw.setVisible(true);    }}class Heading extends JLabel {    static Font font = new Font("serif", Font.ITALIC, 36);    Heading(char c) {	super(String.valueOf(c), JLabel.CENTER);	setFont(font);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -