import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
//窗口布局类
class WindowGrids extends JFrame implements ActionListener
{
JButton buttonarray[][];
WindowGrids(String s) //构造方法
{
super(s);
Container contenetPane = this.getContentPane();
GridLayout grid = new GridLayout(6,11,2,8);
contenetPane.setLayout(grid); //设置窗口的布局
buttonarray = new JButton[6][11]; //创建按钮对象
for (int i = 0;i < 6;i++)
{
for (int j = 0;j < 11;j++)
{
if (i == 5 && j == 10)
{
buttonarray[i][j] = new JButton("清零");
buttonarray[i][j].addActionListener(this);
contenetPane.add(buttonarray[i][j]);
}
else
{
buttonarray[i][j] = new JButton("0"); //为每个实例开辟内存空间
buttonarray[i][j].addActionListener(this);
contenetPane.add(buttonarray[i][j]);
}
}
}
contenetPane.validate();
setBounds(200,200,800,400); //x,y,kuan,gao
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
int row;
int col;
if (e.getSource() == buttonarray[5][10]) //如果为清零按钮
{
for (int i = 0;i < 6;i++)
{
for (int j = 0;j < 11;j++)
{
if (i != 6 && j != 11)
{
buttonarray[i][j].setText("0");
}
}
}
buttonarray[5][10].setText("清零");
}
for (int i = 0;i < 5;i++) //逐一搜索查看对应的按钮是否发生事件
{
for (int j = 0;j < 10;j++)
{
if (e.getSource() == buttonarray[i][j])
{
if(buttonarray[i][j].getText() == "0") //反向显示
{
buttonarray[i][j].setText("1");
actionshow(i,j);
break;
}
else
{
buttonarray[i][j].setText("0");
actionshow(i,j);
break;
}
}
}
}
}
public void actionshow(int rows,int cols) //显示更新的组件值
{
int i;
int j;
int temp;
int rows_sum = 0;
int cols_sum = 0;
for (i = 0;i < 5;i++) //扫描每行的和
{
for (j = 0;j < 10;j++)
{
temp = Integer.parseInt(buttonarray[i][j].getText());
rows_sum = rows_sum + temp;
}
rows_sum = rows_sum % 2; //进行模2运算
buttonarray[i][j].setText(""+rows_sum); //这一行最后一个按钮的显示
rows_sum = 0; //还原值
}
for (i = 0;i < 10;i++) //扫描每列的和
{
for (j = 0;j < 5;j++)
{
temp = Integer.parseInt(buttonarray[j][i].getText());
cols_sum = cols_sum + temp;
}
cols_sum = cols_sum % 2; //进行模2运算
buttonarray[j][i].setText(""+cols_sum);
cols_sum = 0;
}
}
}
class ParityCheck
{
public static void main(String args[])
{
WindowGrids win = new WindowGrids("奇偶校验测试");
}
}
import javax.swing.*;
import java.awt.event.*;
//窗口布局类
class WindowGrids extends JFrame implements ActionListener
{
JButton buttonarray[][];
WindowGrids(String s) //构造方法
{
super(s);
Container contenetPane = this.getContentPane();
GridLayout grid = new GridLayout(6,11,2,8);
contenetPane.setLayout(grid); //设置窗口的布局
buttonarray = new JButton[6][11]; //创建按钮对象
for (int i = 0;i < 6;i++)
{
for (int j = 0;j < 11;j++)
{
if (i == 5 && j == 10)
{
buttonarray[i][j] = new JButton("清零");
buttonarray[i][j].addActionListener(this);
contenetPane.add(buttonarray[i][j]);
}
else
{
buttonarray[i][j] = new JButton("0"); //为每个实例开辟内存空间
buttonarray[i][j].addActionListener(this);
contenetPane.add(buttonarray[i][j]);
}
}
}
contenetPane.validate();
setBounds(200,200,800,400); //x,y,kuan,gao
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
int row;
int col;
if (e.getSource() == buttonarray[5][10]) //如果为清零按钮
{
for (int i = 0;i < 6;i++)
{
for (int j = 0;j < 11;j++)
{
if (i != 6 && j != 11)
{
buttonarray[i][j].setText("0");
}
}
}
buttonarray[5][10].setText("清零");
}
for (int i = 0;i < 5;i++) //逐一搜索查看对应的按钮是否发生事件
{
for (int j = 0;j < 10;j++)
{
if (e.getSource() == buttonarray[i][j])
{
if(buttonarray[i][j].getText() == "0") //反向显示
{
buttonarray[i][j].setText("1");
actionshow(i,j);
break;
}
else
{
buttonarray[i][j].setText("0");
actionshow(i,j);
break;
}
}
}
}
}
public void actionshow(int rows,int cols) //显示更新的组件值
{
int i;
int j;
int temp;
int rows_sum = 0;
int cols_sum = 0;
for (i = 0;i < 5;i++) //扫描每行的和
{
for (j = 0;j < 10;j++)
{
temp = Integer.parseInt(buttonarray[i][j].getText());
rows_sum = rows_sum + temp;
}
rows_sum = rows_sum % 2; //进行模2运算
buttonarray[i][j].setText(""+rows_sum); //这一行最后一个按钮的显示
rows_sum = 0; //还原值
}
for (i = 0;i < 10;i++) //扫描每列的和
{
for (j = 0;j < 5;j++)
{
temp = Integer.parseInt(buttonarray[j][i].getText());
cols_sum = cols_sum + temp;
}
cols_sum = cols_sum % 2; //进行模2运算
buttonarray[j][i].setText(""+cols_sum);
cols_sum = 0;
}
}
}
class ParityCheck
{
public static void main(String args[])
{
WindowGrids win = new WindowGrids("奇偶校验测试");
}
}