📄 gamepanel.java
字号:
import javax.swing.JPanel;
import java.awt.BorderLayout;
import javax.swing.JButton;
import java.awt.FlowLayout;
import javax.swing.JLabel;
/*
* 创建日期 2005-7-25
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
/**
* @author 叶少伟 TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class GamePanel extends JPanel
{
private JPanel nPanel = null;
private JPanel sPanel = null;
private JPanel wPanel = null;
private JPanel ePanel = null;
private JPanel cPanel = null;
private JPanel snPanel = null;
private JPanel player1Panel = null;
private JButton passButton = null;
private JButton clueButton = null;
private JButton outButton = null;
private JPanel nwPanel = null;
private JPanel ncPanel = null;
private JPanel nePanel = null;
private JPanel player1NamePanel = null;
private JLabel player1Label = null;
private JPanel player3Panel = null;
private JPanel player3NamePanel = null;
private JLabel player3Label = null;
private JPanel player2Panel = null;
private JPanel player2NamePanel = null;
private JLabel player2Label = null;
private PKCard [] lastCards, player1Cards, player2Cards, player3Cards;
public void setPlayerCards(PKCard [] c)
{
player1Cards = c;
}
public void setLastCards(PKCard [] c)
{
lastCards = c;
}
public void setNames(String [] names)
{
player1Label.setText(names[0]);
player2Label.setText(names[1]);
player3Label.setText(names[2]);
}
public void removeAllNames()
{
player1Label.setText("");
player2Label.setText("");
player3Label.setText("");
}
public void removeAllCards()
{
ncPanel.removeAll();
ncPanel.updateUI();
player1Panel.removeAll();
player1Panel.updateUI();
player2Panel.removeAll();
player2Panel.updateUI();
player3Panel.removeAll();
player3Panel.updateUI();
}
public void setCardsLocation(int p1, int p2, int p3)
{
int x = 30;
int y = 20;
for(int i = 0; i < 3; i++)
{
ncPanel.add(lastCards[i]);
lastCards[i].setLocation(x, y);
x += 85;
}
addCardToPanel(player1Cards, player1Panel, p1);
addCardToPanel(player2Cards, player2Panel, p2);
addCardToPanel(player3Cards, player3Panel, p3);
}
public void addCardToPanel(PKCard [] card, JPanel panel, int n)
{
int x = 0;
int y = 0;
int addx = 0;
int addy = 0;
if(panel.equals(player1Panel))
{
x = 385 - n / 2 * 15;
y = 20;
addx = 15;
}
else if(panel.equals(player2Panel))
{
x = 40;
y = 160 - n / 2 * 15;
addy = 15;
}
else if(panel.equals(player3Panel))
{
x = 30;
y = 160 - n / 2 * 15;
addy = 15;
}
for(int i = 0; i < n; i++)
{
panel.add(card[i], 0);
card[i].setLocation(x, y);
if(panel.equals(player1Panel))
card[i].turnFornt();
x += addx;
y += addy;
}
panel.updateUI();
}
/**
* This is the default constructor
*/
public GamePanel()
{
super();
initialize();
player2Cards = new PKCard[20];
player3Cards = new PKCard[20];
for(int i = 0; i < 20; i++)
{
player2Cards[i] = new PKCard("rear");
player3Cards[i] = new PKCard("rear");
}
}
/**
* This method initializes this
*
* @return void
*/
private void initialize()
{
this.setLayout(new BorderLayout());
this.setOpaque(false);
this.setSize(850, 750);
this.setPreferredSize(new java.awt.Dimension(850, 750));
this.add(getNPanel(), java.awt.BorderLayout.NORTH);
this.add(getSPanel(), java.awt.BorderLayout.SOUTH);
this.add(getWPanel(), java.awt.BorderLayout.WEST);
this.add(getEPanel(), java.awt.BorderLayout.EAST);
this.add(getCPanel(), java.awt.BorderLayout.CENTER);
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getNPanel()
{
if(nPanel == null)
{
nPanel = new JPanel();
nPanel.setLayout(new BorderLayout());
nPanel.setOpaque(false);
nPanel
.setCursor(new java.awt.Cursor(
java.awt.Cursor.DEFAULT_CURSOR));
nPanel.setPreferredSize(new java.awt.Dimension(0, 126));
nPanel.add(getNwPanel(), java.awt.BorderLayout.WEST);
nPanel.add(getNcPanel(), java.awt.BorderLayout.CENTER);
nPanel.add(getNePanel(), java.awt.BorderLayout.EAST);
}
return nPanel;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getSPanel()
{
if(sPanel == null)
{
sPanel = new JPanel();
sPanel.setLayout(new BorderLayout());
sPanel.setOpaque(false);
sPanel.setPreferredSize(new java.awt.Dimension(10, 186));
sPanel.add(getSnPanel(), java.awt.BorderLayout.NORTH);
sPanel.add(getPlayer1Panel(), java.awt.BorderLayout.CENTER);
sPanel.add(getPlayer1NamePanel(), java.awt.BorderLayout.SOUTH);
}
return sPanel;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getWPanel()
{
if(wPanel == null)
{
wPanel = new JPanel();
wPanel.setLayout(new BorderLayout());
wPanel.setOpaque(false);
wPanel.setPreferredSize(new java.awt.Dimension(176, 10));
wPanel.add(getPlayer3Panel(), java.awt.BorderLayout.CENTER);
wPanel.add(getPlayer3NamePanel(), java.awt.BorderLayout.WEST);
}
return wPanel;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getEPanel()
{
if(ePanel == null)
{
ePanel = new JPanel();
ePanel.setLayout(new BorderLayout());
ePanel.setOpaque(false);
ePanel.setPreferredSize(new java.awt.Dimension(176, 10));
ePanel.add(getPlayer2Panel(), java.awt.BorderLayout.CENTER);
ePanel.add(getPlayer2NamePanel(), java.awt.BorderLayout.EAST);
}
return ePanel;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getCPanel()
{
if(cPanel == null)
{
cPanel = new JPanel();
cPanel.setOpaque(false);
}
return cPanel;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getSnPanel()
{
if(snPanel == null)
{
FlowLayout flowLayout1 = new FlowLayout();
snPanel = new JPanel();
snPanel.setLayout(flowLayout1);
snPanel.setOpaque(false);
flowLayout1.setVgap(0);
flowLayout1.setHgap(15);
snPanel.add(getPassButton(), null);
snPanel.add(getClueButton(), null);
snPanel.add(getOutButton(), null);
}
return snPanel;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getPlayer1Panel()
{
if(player1Panel == null)
{
player1Panel = new JPanel();
player1Panel.setLayout(null);
player1Panel.setOpaque(false);
}
return player1Panel;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getPassButton()
{
if(passButton == null)
{
passButton = new JButton();
passButton.setText("放弃");
passButton.setBorderPainted(false);
passButton.setOpaque(false);
passButton.setEnabled(false);
passButton.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
System.out.println("actionPerformed()"); // TODO
// Auto-generated
// Event stub
// actionPerformed()
}
});
}
return passButton;
}
/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getClueButton()
{
if(clueButton == null)
{
clueButton = new JButton();
clueButton.setText("提示");
clueButton.setEnabled(false);
clueButton.setBorderPainted(false);
clueButton.setOpaque(false);
clueButton.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
System.out.println("actionPerformed()"); // TODO
// Auto-generated
// Event stub
// actionPerformed()
}
});
}
return clueButton;
}
/**
* This method initializes jButton2
*
* @return javax.swing.JButton
*/
private JButton getOutButton()
{
if(outButton == null)
{
outButton = new JButton();
outButton.setText("出牌");
outButton.setBorderPainted(false);
outButton.setOpaque(false);
outButton.setEnabled(false);
outButton.setCursor(new java.awt.Cursor(
java.awt.Cursor.DEFAULT_CURSOR));
outButton.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
System.out.println("actionPerformed()"); // TODO
// Auto-generated
// Event stub
// actionPerformed()
}
});
}
return outButton;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getNwPanel()
{
if(nwPanel == null)
{
nwPanel = new JPanel();
nwPanel.setOpaque(false);
nwPanel.setPreferredSize(new java.awt.Dimension(265, 10));
}
return nwPanel;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getNcPanel()
{
if(ncPanel == null)
{
ncPanel = new JPanel();
ncPanel.setLayout(null);
ncPanel.setOpaque(false);
ncPanel.setPreferredSize(new java.awt.Dimension(273, 10));
}
return ncPanel;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getNePanel()
{
if(nePanel == null)
{
nePanel = new JPanel();
nePanel.setPreferredSize(new java.awt.Dimension(265, 10));
nePanel.setOpaque(false);
}
return nePanel;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getPlayer1NamePanel()
{
if(player1NamePanel == null)
{
player1Label = new JLabel();
player1NamePanel = new JPanel();
// player1Label.setText("玩家1");
// player1Label.setIcon(new ImageIcon(getClass().getResource(
// "/images/head.gif")));
player1NamePanel.setOpaque(false);
player1NamePanel.add(player1Label, null);
}
return player1NamePanel;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getPlayer3Panel()
{
if(player3Panel == null)
{
player3Panel = new JPanel();
player3Panel.setLayout(null);
player3Panel.setOpaque(false);
}
return player3Panel;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getPlayer3NamePanel()
{
if(player3NamePanel == null)
{
player3Label = new JLabel();
FlowLayout flowLayout2 = new FlowLayout();
flowLayout2.setVgap(175);
player3NamePanel = new JPanel();
player3NamePanel.setLayout(flowLayout2);
player3Label
.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
player3Label
.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
// player3Label.setIcon(new ImageIcon(getClass().getResource(
// "/images/head.gif")));
player3NamePanel.setOpaque(false);
// player3Label.setText("玩家3");
player3NamePanel.add(player3Label, null);
}
return player3NamePanel;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getPlayer2Panel()
{
if(player2Panel == null)
{
player2Panel = new JPanel();
player2Panel.setLayout(null);
player2Panel.setOpaque(false);
}
return player2Panel;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getPlayer2NamePanel()
{
if(player2NamePanel == null)
{
player2Label = new JLabel();
FlowLayout flowLayout11 = new FlowLayout();
flowLayout11.setVgap(175);
player2Label
.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
player2Label
.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
// player2Label.setIcon(new ImageIcon(getClass().getResource(
// "/images/head.gif")));
player2NamePanel = new JPanel();
player2NamePanel.setLayout(flowLayout11);
player2NamePanel.setOpaque(false);
// player2Label.setText("玩家2");
player2NamePanel.add(player2Label, null);
}
return player2NamePanel;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -