📄 mainframe.java
字号:
package org.hites.pegjump;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.*;
import java.util.EmptyStackException;
import javax.swing.*;
@SuppressWarnings("serial")
public class MainFrame extends JFrame {
JPanel pane;
JPanel btnPane;
JButton[] btns;
JButton[] commandbtns;
Grid grid;
public MainFrame()
{
InitPane();
InitbtnPane();
InitGrid("cross");
setLocation(600 , 50);
setTitle("Peg Jump");
setLayout(new GridLayout(2,4));
//setLayout(new BorderLayout());
JPanel jp = new JPanel();
jp.setLayout(new BorderLayout());
jp.add(pane,BorderLayout.CENTER);
add(jp);
add(btnPane);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(new Dimension(420, 800));
setVisible(true);
}
public void InitPane()
{
pane = new JPanel();
pane.setLayout(new GridLayout(9,9));
pane.setVisible(true);
pane.setSize(new Dimension(420, 420));
btns = new JButton[81];
for(int i=0;i<btns.length;i++)
{
btns[i]=new JButton();
btns[i].addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
JButton b = (JButton) e.getSource();
clickEvent(b);
}
});
}
for(int i=0;i<=11;i++)
{btns[i].setEnabled(false);btns[i].setIcon(new ImageIcon(getClass().getResource("/iamges/09.jpg")));}
for(int i=15;i<=20;i++)
{btns[i].setEnabled(false);btns[i].setIcon(new ImageIcon(getClass().getResource("/iamges/09.jpg")));}
for(int i=24;i<=27;i++)
{btns[i].setEnabled(false);btns[i].setIcon(new ImageIcon(getClass().getResource("/iamges/09.jpg")));}
btns[35].setEnabled(false);btns[35].setIcon(new ImageIcon(getClass().getResource("/iamges/09.jpg")));
btns[36].setEnabled(false);btns[36].setIcon(new ImageIcon(getClass().getResource("/iamges/09.jpg")));
btns[44].setEnabled(false);btns[44].setIcon(new ImageIcon(getClass().getResource("/iamges/09.jpg")));
btns[45].setEnabled(false);btns[45].setIcon(new ImageIcon(getClass().getResource("/iamges/09.jpg")));
for(int i=53;i<=56;i++)
{btns[i].setEnabled(false);btns[i].setIcon(new ImageIcon(getClass().getResource("/iamges/09.jpg")));}
for(int i=60;i<=65;i++)
{btns[i].setEnabled(false);btns[i].setIcon(new ImageIcon(getClass().getResource("/iamges/09.jpg")));}
for(int i=69;i<btns.length;i++)
{btns[i].setEnabled(false);btns[i].setIcon(new ImageIcon(getClass().getResource("/iamges/09.jpg")));}
for(int i=0;i<btns.length;i++)
pane.add(btns[i]);
}
public void InitbtnPane()
{
btnPane = new JPanel();
btnPane.setLayout(new GridLayout(2,5,10,30));
//btnPane.setLayout(new BorderLayout());
btnPane.setVisible(true);
//btnPane.setSize(new Dimension(138, 80));
commandbtns = new JButton[10];
commandbtns[0]=new JButton("cross");
commandbtns[1]=new JButton("plus");
commandbtns[2]=new JButton("fireplace");
commandbtns[3]=new JButton("uparrow");
commandbtns[4]=new JButton("pyramid");
commandbtns[5]=new JButton("diamond");
commandbtns[6]=new JButton("solitaire");
commandbtns[7]=new JButton();
commandbtns[7].setIcon(new ImageIcon(getClass().getResource("/iamges/web.gif")));
for(int i=0;i<commandbtns.length-3;i++)
{
commandbtns[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
InitGrid(e.getActionCommand().toString());
}});
btnPane.add(commandbtns[i]);
}
commandbtns[7].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
try {
if(grid.search())
commandbtns[8].setEnabled(true);
else
commandbtns[8].setEnabled(false);
} catch (Exception ex) {
System.out.println("请先初始化!");
}
}});
btnPane.add(commandbtns[7]);
commandbtns[8] = new JButton("下一步");
commandbtns[8].setEnabled(false);
commandbtns[8].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
try {
grid.a = grid.reShowGrid();
setPane();
} catch (EmptyStackException ex) {
System.out.println("已经走到头啦!");
JOptionPane.showMessageDialog(null, "已经走到头啦!");
}
}});
//commandbtns[8].setIcon(new ImageIcon(getClass().getResource("/iamges/GoStep.gif")));
btnPane.add(commandbtns[8]);
commandbtns[9] = new JButton("自定义");
commandbtns[9].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
for(int i=0;i<commandbtns.length-1;i++)
commandbtns[i].setEnabled(false);
if("自定义".equals(e.getActionCommand()))
{
commandbtns[9].setText("确定");
for(int i=0;i<btns.length;i++)
if(btns[i].getIcon().toString().equals("file:/D:/eclipse/workspace/PegJump/iamges/05.jpg"))
btns[i].setIcon(new ImageIcon(getClass().getResource("/iamges/07.jpg")));
}
else if("确定".equals(e.getActionCommand()))
{
commandbtns[9].setText("自定义");
for(int i=0;i<commandbtns.length-1;i++)
commandbtns[i].setEnabled(true);
for(int i=0;i<btns.length;i++)
{
if(btns[i].getIcon().toString().equals("file:/D:/eclipse/workspace/PegJump/iamges/05.jpg"))
grid.a.setCharAt(i, '#');
else if(btns[i].getIcon().toString().equals("file:/D:/eclipse/workspace/PegJump/iamges/07.jpg"))
grid.a.setCharAt(i, '0');
}
}
}});
btnPane.add(commandbtns[9]);
}
public void InitGrid(String command)
{
grid = new Grid(command);
setPane();
}
public void clickEvent(JButton b)
{
if(b.getIcon().toString().equals("file:/D:/eclipse/workspace/PegJump/iamges/05.jpg"))
b.setIcon(new ImageIcon(getClass().getResource("/iamges/07.jpg")));
else if(b.getIcon().toString().equals("file:/D:/eclipse/workspace/PegJump/iamges/07.jpg"))
b.setIcon(new ImageIcon(getClass().getResource("/iamges/05.jpg")));
else {};
}
public void setPane()
{
StringBuilder str = grid.a;
for(int i=0;i<str.length();i++)
{
if(str.charAt(i) == '#')
btns[i].setIcon(new ImageIcon(getClass().getResource("/iamges/05.jpg")));
else if(str.charAt(i) == '0')
btns[i].setIcon(new ImageIcon(getClass().getResource("/iamges/07.jpg")));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -