📄 caidan.java
字号:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.*;
import java.awt.image.ImageObserver;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;
import java.io.FileInputStream;
import javax.swing.*;
import javax.swing.filechooser.FileView;
import sun.audio.AudioPlayer;
import sun.audio.AudioStream;
public class Caidan extends JMenuBar {
public JMenu game;
public JMenu option;
public JMenu help;
public JMenuItem start;
public JMenuItem stop;
public JMenuItem save;
public JMenuItem goback;
public JMenuItem exit;
public static JMenu forbid;
public static JRadioButtonMenuItem open;
public static JRadioButtonMenuItem close;
public static JMenu time;
public JMenu qp;
public JRadioButtonMenuItem qp1;
public JRadioButtonMenuItem qp2;
public JMenu music;
public JRadioButtonMenuItem on;
public JRadioButtonMenuItem off;
public JMenuItem five;
public JMenuItem author;
public JMenuItem version;
public JMenuItem xianshou;
public JMenuItem image;
public JRadioButtonMenuItem ji1;
public JRadioButtonMenuItem ji2;
public JRadioButtonMenuItem ji3;
public static int[] Ctime=new int[1];
public ActionListener forbidhandler1;
public ActionListener forbidhandler2;
public ActionListener exithandler;
public ActionListener starthandler;
public ActionListener gobackhandler;
public ActionListener savehandler;
public ActionListener authorhandler;
public ActionListener fivehandler;
public ActionListener versionhandler;
public ActionListener xianshouhandler;
public ActionListener stophandler;
public ActionListener imagechoosehander;
public ActionListener musicon;
public ActionListener musicoff;
public ActionListener listener;
public ActionListener qp1listener;
public ActionListener qp2listener;
public ActionListener time1;
public ActionListener time2;
public ActionListener time3;
public static boolean jshvalue=true;
public static boolean muvalue=true;
DrawLine a;
public Caidan(DrawLine a) {
this.a = a;
forbidhandler1=new ForbidHandler1();
forbidhandler2=new ForbidHandler2();
exithandler = new ExitHandler();
starthandler = new StartHandler(a);
savehandler=new SaveHandler();
gobackhandler = new GobackHandler(a);
authorhandler = new AuthorHandler();
fivehandler = new FiveHandler();
versionhandler = new VersionHandler();
xianshouhandler = new XianshouHandler();
stophandler = new StopHandler(a);
imagechoosehander = new ImageChooseHander();
musicon=new Musicon();
musicoff=new Musicoff();
qp1listener=new Qp1listener();
qp2listener=new Qp2listener();
time1=new Time1();
time2=new Time2();
time3=new Time3();
game = new JMenu("游戏(g)");
game.setMnemonic('g');
option = new JMenu("选项(o)");
option.setMnemonic('o');
help = new JMenu("帮助(h)");
help.setMnemonic('h');
start = new JMenuItem("重新开始(r)");
start.setMnemonic('r');
start.addActionListener(starthandler);
save =new JMenuItem("储存");
save.setMnemonic('a');
save.addActionListener(savehandler);
stop = new JMenuItem("暂停(s)");
stop.setMnemonic('s');
stop.addActionListener(stophandler);
goback = new JMenuItem("悔棋(d)");
goback.setMnemonic('d');
goback.addActionListener(gobackhandler);
exit = new JMenuItem("退出(e)");
exit.setMnemonic('e');
exit.addActionListener(exithandler);
music=new JMenu("选择音乐");
on=new JRadioButtonMenuItem ("开");
off=new JRadioButtonMenuItem ("关");
ButtonGroup musicgroup=new ButtonGroup();
musicgroup.add(on);
musicgroup.add(off);
on.setSelected(true);
music.add(on);
music.add(off);
on.addActionListener(musicon);
off.addActionListener(musicoff);
forbid = new JMenu("选择禁手(f)");
forbid.setMnemonic('f');
//forbid.addActionListener(forbidhandler);
open=new JRadioButtonMenuItem ("开禁手");
close=new JRadioButtonMenuItem ("关禁手");
open.addActionListener(forbidhandler1);
close.addActionListener(forbidhandler2);
ButtonGroup jishougroup=new ButtonGroup();
jishougroup.add(open);
open.setSelected(true);
jishougroup.add(close);
forbid.add(open);
forbid.add(close);
time = new JMenu("选择总共时间(t)");
ButtonGroup timegroup=new ButtonGroup();
ji1=new JRadioButtonMenuItem("10分钟");
ji2=new JRadioButtonMenuItem("20分钟");
ji3=new JRadioButtonMenuItem("30分钟");
ji1.addActionListener(time1);
ji2.addActionListener(time2);
ji3.addActionListener(time3);
timegroup.add(ji1);
timegroup.add(ji2);
timegroup.add(ji3);
ji2.setSelected(true);
time.add(ji1);
time.add(ji2);
time.add(ji3);
ji1.setSelected(true);
time.setMnemonic('t');
qp=new JMenu("选择棋盘");
qp1=new JRadioButtonMenuItem("透明棋盘");
qp2=new JRadioButtonMenuItem("非透明棋盘");
ButtonGroup grp=new ButtonGroup();
grp.add(qp1);
grp.add(qp2);
qp2.setSelected(true);
qp1.addActionListener(qp1listener);
qp2.addActionListener(qp2listener);
qp.add(qp1);
qp.add(qp2);
image = new JMenuItem("选择背景图片(i).....");
image.setMnemonic('t');
image.addActionListener(imagechoosehander);
five = new JMenuItem("关于五子棋(w)");
five.setMnemonic('w');
five.addActionListener(fivehandler);
author = new JMenuItem("关于作者(a)");
author.setMnemonic('a');
author.addActionListener(authorhandler);
version = new JMenuItem("关于版本(v)");
version.setMnemonic('v');
version.addActionListener(versionhandler);
xianshou = new JMenuItem("猜先手(c)");
xianshou.setMnemonic('c');
xianshou.addActionListener(xianshouhandler);
game.add(start);
game.add(save);
game.add(stop);
game.add(goback);
game.add(exit);
option.add(xianshou);
option.add(image);
option.add(music);
option.add(forbid);
option.add(qp);
option.add(time);
help.add(five);
help.add(author);
help.add(version);
this.add(game);
this.add(option);
this.add(help);
}
}
class StartHandler implements ActionListener {
DrawLine a;
MouseTracker m1[];
public StartHandler(DrawLine a) {
this.a = a;
m1 = ButtonPanel.mt;
}
public void actionPerformed(ActionEvent e) {
int bianChang = 15;
int qp2[][] = new int[bianChang][bianChang];
qp2 = MouseTracker.getqp();
if(Option.musicvalue==true||Caidan.muvalue==true){
try {
FileInputStream fileau=new FileInputStream("newgame.wav" );
AudioStream as=new AudioStream(fileau);
AudioPlayer.player.start(as);
}
catch (Exception e1) {}
}
a.removeMouseListener(m1[0]);
a.removeAll();
JFrame cai=new CaiXianShou();
cai.setLocation(200,200);
int i, j;
for (i = 0; i < 15; i++) {
for (j = 0; j < 15; j++) {
qp2[i][j] = 0;
}
}
m1[0].i = 0;
a.repaint();
Pane1.getj3().setText("步数:" + 0);
Pane2.getj3().setText("步数:" + 0);
m1[0].count1 = 0;
m1[0].count2 = 0;
Pane1.getj2().setText("倒计时:" + Caidan.Ctime[0] + ":" + "00");
Pane2.getj2().setText("倒计时:" +Caidan.Ctime[0] + ":" + "00");
Pane1.count = 0;
Pane2.count = 0;
Pane1.getTimer().stop();
Pane2.getTimer().stop();
}
}
class SaveHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
}
}
class Time1 implements ActionListener{
public void actionPerformed(ActionEvent e){
Caidan.Ctime[0]=10;
Pane1.j1.setText("限时:10分钟");
Pane2.j1.setText("限时:10分钟");
}
}
class Time2 implements ActionListener{
public void actionPerformed(ActionEvent e){
Caidan.Ctime[0]=20;
Pane1.j1.setText("限时:20分钟");
Pane2.j1.setText("限时:20分钟");
}
}
class Time3 implements ActionListener{
public void actionPerformed(ActionEvent e){
Caidan.Ctime[0]=30;
Pane1.j1.setText("限时:30分钟");
Pane2.j1.setText("限时:30分钟");
}
}
class ForbidHandler1 implements ActionListener{
public void actionPerformed(ActionEvent e){
Caidan.jshvalue=true;
//System.out.println("xuanzele"+Caidan.jshvalue);
}
}
class ForbidHandler2 implements ActionListener{
public void actionPerformed(ActionEvent e){
Caidan.jshvalue=false;
//System.out.println("xuanzele"+Caidan.jshvalue);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -