📄 fanpaiframe.java
字号:
package fapai;
import java.awt.*;
import sun.audio.*;
import javax.swing.*;
import java.awt.Dimension;
import java.awt.Rectangle;
import javax.swing.BorderFactory;
import java.awt.event.*;
import java.text.*;
import java.io.*;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2008</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class FanPaiFrame extends JFrame {
JPanel contentPane;
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenu1 = new JMenu();
JMenuItem playjMenuItem = new JMenuItem();
JMenuItem jMenuItem3 = new JMenuItem();
JMenu jMenu2 = new JMenu();
JButton startjButton = new JButton();
JButton gradejButton = new JButton();
JPanel jPanel1 = new JPanel();
GridLayout gridLayout1 = new GridLayout();
public static int ROW = 6;
public static int COL = 6;
String name;
public JButton[][] button = new JButton[ROW][COL];
JLabel gamejLabel = new JLabel();
JTextField playerjTextField = new JTextField();
JLabel timejLabel = new JLabel();
JTextField timejTextField = new JTextField();
GridLayout gridLayout2 = new GridLayout();
JMenu jMenu3 = new JMenu();
JMenuItem onejMenuItem = new JMenuItem();
JMenuItem twojMenuItem = new JMenuItem();
JMenuItem threejMenuItem = new JMenuItem();
JMenuItem aboutjMenuItem = new JMenuItem();
JButton resetjButton = new JButton();
Timer clockTimer;
JButton playjButton = new JButton();
JLabel imagejLabel = new JLabel();
public FanPaiFrame() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(null);
this.setJMenuBar(jMenuBar1);
this.setResizable(false);
setSize(new Dimension(379, 448));
setTitle("翻牌游戏");
this.setVisible(true);
jMenu1.setText("系统");
playjMenuItem.setActionCommand("player");
playjMenuItem.setText("玩家");
playjMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
playjMenuItem_actionPerformed(e);
}
});
jMenuItem3.setActionCommand("exit");
jMenuItem3.setText("退出");
jMenuItem3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//jMenuItemActionListener(e);
System.exit(0);
}
});
jMenu2.setText("关于");
//resetjButton.addActionListener(new ButHandler(this));
startjButton.setBackground(Color.lightGray);
startjButton.setBounds(new Rectangle(99, 5, 59, 23));
startjButton.setBorder(null);
startjButton.setActionCommand("start");
startjButton.setText("开始");
//startjButton.addActionListener(new ButHandler(this));
startjButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
startjButton_actionPerformed(e);
}
});
gradejButton.setBounds(new Rectangle(181, 5, 63, 23));
gradejButton.setBorder(BorderFactory.createRaisedBevelBorder());
gradejButton.setActionCommand("grade");
gradejButton.setText(" 成绩");
gradejButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
gradejButton_actionPerformed(e);
}
});
jPanel1.setBackground(Color.black);
jPanel1.setBounds(new Rectangle(20, 54, 313, 281));
jPanel1.setLayout(gridLayout2);
contentPane.setBackground(Color.yellow);
gridLayout1.setColumns(COL);
gridLayout1.setRows(ROW);
gamejLabel.setToolTipText("");
gamejLabel.setText("玩家:");
gamejLabel.setBounds(new Rectangle(20, 362, 41, 26));
playerjTextField.setBorder(BorderFactory.createLoweredBevelBorder());
playerjTextField.setToolTipText("玩家的姓名");
playerjTextField.setEditable(false);
playerjTextField.setText("guest");
playerjTextField.setBounds(new Rectangle(84, 362, 83, 25));
timejLabel.setToolTipText("");
timejLabel.setText("时间:");
timejLabel.setBounds(new Rectangle(210, 362, 45, 24));
timejTextField.setForeground(Color.red);
timejTextField.setBorder(BorderFactory.createLoweredBevelBorder());
timejTextField.setToolTipText("玩游戏花费的时间");
timejTextField.setEditable(false);
timejTextField.setText("00:00:00");
timejTextField.setBounds(new Rectangle(258, 362, 74, 24));
gridLayout2.setColumns(COL);
gridLayout2.setRows(ROW);
jMenu3.setText("难度");
onejMenuItem.setActionCommand("one");
onejMenuItem.setText("一级");
onejMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
onejMenuItem_actionPerformed(e);
}
});
twojMenuItem.setActionCommand("two");
twojMenuItem.setText("二级");
twojMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
twojMenuItem_actionPerformed(e);
}
});
threejMenuItem.setActionCommand("three");
threejMenuItem.setText("三级");
threejMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
threejMenuItem_actionPerformed(e);
}
});
aboutjMenuItem.setText("关于");
aboutjMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
aboutjMenuItem_actionPerformed(e);
//jMenuItemActionListener(e);
}
});
resetjButton.setBounds(new Rectangle(24, 5, 58, 22));
resetjButton.setBorder(BorderFactory.createRaisedBevelBorder());
resetjButton.setToolTipText("点击复位");
resetjButton.setActionCommand("reset");
resetjButton.setText("复位");
resetjButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
resetjButton_actionPerformed();
}
});
playjButton.setBounds(new Rectangle(272, 5, 61, 22));
playjButton.setActionCommand("play");
playjButton.setText("音乐");
playjButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
playjButton_actionPerformed(e);
}
});
imagejLabel.setBounds(new Rectangle(1, 0, 378, 410));
// ImageIcon imageIcon = new ImageIcon("D:\\temp\\JBuilder\\src\\com\\yhx\\ibm\\fapai\\1.jpg");
// imagejLabel.setIcon(imageIcon);
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenu1.add(playjMenuItem);
jMenu1.add(jMenu3);
jMenu1.add(jMenuItem3);
contentPane.add(jPanel1);
contentPane.add(gamejLabel);
contentPane.add(playerjTextField);
contentPane.add(timejLabel);
contentPane.add(timejTextField);
contentPane.add(resetjButton);
contentPane.add(startjButton);
contentPane.add(gradejButton);
contentPane.add(playjButton);
contentPane.add(imagejLabel);
jMenu3.add(onejMenuItem);
jMenu3.add(twojMenuItem);
jMenu3.add(threejMenuItem);
jMenu2.add(aboutjMenuItem);
addButton();
ActionListener timeActionListener =
new ActionListener() {
public void actionPerformed(ActionEvent event) {
timeActionPerformed(event);
}
};
clockTimer = new Timer(1000, timeActionListener);
}
public void setCol(int col) {
this.COL = col;
}
public void setRow(int row) {
this.ROW = row;
}
private void addButton() {
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
name = String.valueOf("" + i + j);
button[i][j] = new JButton();
//button[i][j].setText(name);
button[i][j].setActionCommand(name);
button[i][j].addActionListener(new ButtonHanler(this));
button[i][j].setEnabled(false);
jPanel1.add(button[i][j]);
}
}
}
public void startjButton_actionPerformed(ActionEvent e) {
String name = startjButton.getText();
if (name.equals("暂停")) {
startjButton.setText("开始");
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
//button[i][j].enable(false);
button[i][j].setEnabled(false);
}
clockTimer.stop();
}
} else if (name.equals("开始")) {
startjButton.setText("暂停");
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
button[i][j].setEnabled(true);
}
}
clockTimer.start();
}
}
public void resetjButton_actionPerformed() {
timejTextField.setText("");
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
//如果该属性为 true,则按钮将绘制内容区域。如果希望有一个透明的按钮,
//比如只是一个图标的按钮,那么应该将此属性设置为 false
button[i][j].setContentAreaFilled(true);
button[i][j].setBackground(Color.lightGray);
}
}
startjButton.setText("开始");
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
button[i][j].setEnabled(false);
}
clockTimer.stop();
}
}
public void aboutjMenuItem_actionPerformed(ActionEvent e) {
//jMenuItemActionListener(e);
AboutDialog aboutDialog = new AboutDialog(this, "woeo", true);
}
public void playjMenuItem_actionPerformed(ActionEvent e) {
String playername = JOptionPane.showInputDialog("输入名字");
if (!playername.equals("")) {
playerjTextField.setText(playername);
} else {
playerjTextField.setText("guest");
}
//playerjTextField.setText(playername);
}
public void twojMenuItem_actionPerformed(ActionEvent e) {
setCol(8);
setRow(8);
FanPei fanPei = new FanPei();
}
public void onejMenuItem_actionPerformed(ActionEvent e) {
setCol(6);
setRow(6);
FanPei fanPei = new FanPei();
}
public void threejMenuItem_actionPerformed(ActionEvent e) {
setCol(10);
setRow(10);
FanPei fanPei = new FanPei();
}
private void timeActionPerformed(ActionEvent event) {
int secondsInt;
int minutsInt;
int hoursInt;
DecimalFormat timeFormat = new DecimalFormat("00");
String time = timejTextField.getText().trim();
if (time.length() > 0) {
String seconds = time.substring(6);
String minuts = time.substring(3, 5);
String hours = time.substring(0, 2);
secondsInt = Integer.parseInt(seconds);
minutsInt = Integer.parseInt(minuts);
hoursInt = Integer.parseInt(hours);
} else {
secondsInt = 0; ;
minutsInt = 0;
hoursInt = 0;
}
if (secondsInt + 1 >= 60) {
secondsInt = 0;
if (minutsInt + 1 >= 60) {
minutsInt = 0;
hoursInt += 1;
} else {
minutsInt += 1;
}
} else {
secondsInt += 1;
}
this.timejTextField.setText(timeFormat.format(hoursInt)
+ ":" + timeFormat.format(minutsInt) + ":" +
timeFormat.format(secondsInt));
}
public void playjButton_actionPerformed(ActionEvent e) {
// String buttonText =playjButton.getText();
// if(buttonText.equals("音乐")){
// playSound("play");
// playjButton.setText("暂停");
// }
// else {
// playSound("stop");
// playjButton.setText("音乐");
// }
playSound();
}
private void playSound() {
AudioData theData = null;
//AudioDataStream ads = new AudioDataStream(theData);
try {
FileInputStream fis = new FileInputStream(
"D:/JBuilder/src/com/yhx/ibm/fapai/MUSIC.AU");
AudioStream as = new AudioStream(fis);
theData = as.getData();
AudioDataStream ads = new AudioDataStream(theData);
//ContinuousAudioDataStream cads = new ContinuousAudioDataStream(theData);
//if(code.equals("play"))
AudioPlayer.player.start(ads);
// else if (code.equals("stop")){
// AudioPlayer.player.stop(ads);
// as =null;
// }
} catch (IOException e) {
System.err.println(e);
} catch (SecurityException e) {
System.out.println("security exception");
}
}
public void gradejButton_actionPerformed(ActionEvent e) {
String grade;
int NUM=40;
int i=0;
String [][] gradeObj= new String [NUM][3];
StringBuffer content = new StringBuffer();
try {
FileReader fileReader = new FileReader(
"D:/JBuilder/src/com/yhx/ibm/fapai/result.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);
while ((grade = bufferedReader.readLine())!=null) {
gradeObj[i++] = grade.split("---");
content.append(grade);
}
} catch (FileNotFoundException ex) {
System.out.print("读文件时出错了");
} catch (IOException ex) {
System.out.print("读文件时出错了");
}
//JOptionPane.showMessageDialog(null,content);
TableFrame tableFrame = new TableFrame(gradeObj);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -