📄 test.java
字号:
package flow.graph.test.test;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test {
private JFrame frame = null;
private JPanel pane = null, pane_1 = null, pane_2 = null;
private GridLayout gl = null;
private JLabel eventLabel = null;
private My_Button[] button = null;
private JButton b_1 = null, b_2 = null, b_3 = null;
private My_ButtonGroup group = null;
public Test() {
group = new My_ButtonGroup();
frame = new JFrame("测试窗体");
eventLabel = new JLabel();
pane = new JPanel();
gl = new GridLayout();
pane.setLayout(gl);
this.setGameUI(5, 8);
this.initGrade();
frame.getContentPane().add(pane);
pane_1 = new JPanel();
pane_1.add(new JLabel("鼠标松开后产生的事件:"));
pane_1.add(eventLabel);
frame.getContentPane().add(pane_1, BorderLayout.NORTH);
frame.getContentPane().add(pane_2, BorderLayout.SOUTH);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setSize(300, 200);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
/**
* 设置游戏界面
* @param rows 行
* @param cols 列
*/
public void setGameUI(int rows, int cols) {
gl.setRows(rows);
gl.setColumns(cols);
button = new My_Button[rows * cols];
pane.removeAll();
for (int i = 0; i < button.length; i++) {
button[i] = new My_Button("O");
button[i].setName(String.valueOf(i + 1));
button[i].setMargin(new Insets(0, 0, 0, 0)); //解决问题一
button[i].setGroup(group);
pane.add(button[i]);
}
group.removeAll();
group.addButtonArray(button);
}
/**
* 和级别设置有关的初始化
*/
private void initGrade() {
pane_2 = new JPanel();
b_1 = new JButton("3 * 6");
b_2 = new JButton("5 * 8");
b_3 = new JButton("8 * 12");
b_1.addActionListener(new ActionListener() { //解决问题三
public void actionPerformed(ActionEvent e) {
setGameUI(3, 6);
pane.repaint();
pane.validate();
}
});
b_2.addActionListener(new ActionListener() { //解决问题三
public void actionPerformed(ActionEvent e) {
setGameUI(5, 8);
pane.repaint();
pane.validate();
}
});
b_3.addActionListener(new ActionListener() { //解决问题三
public void actionPerformed(ActionEvent e) {
setGameUI(8, 12);
pane.repaint();
pane.validate();
}
});
pane_2.add(b_1);
pane_2.add(b_2);
pane_2.add(b_3);
}
public static void main(String[] args) {
new Test();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -