{"id":177,"date":"2005-06-22T08:00:00","date_gmt":"2005-06-22T08:00:00","guid":{"rendered":"https:\/\/out.cat\/?p=173"},"modified":"2005-06-22T08:00:00","modified_gmt":"2005-06-22T08:00:00","slug":"173","status":"publish","type":"post","link":"https:\/\/out.cat\/?p=177","title":{"rendered":"\u4e00\u4e2a\u6709\u8da3\u7684\u5f00\u7a97\u6237\u6e38\u620fjava\u6e90\u4ee3\u7801"},"content":{"rendered":"<p>import java.awt.*;<br \/>\nimport java.awt.event.*;<br \/>\nimport javax.swing.*;<br \/>\nclass OpenWindows{<br \/>\n public static void main(String[] args){<br \/>\n  JFrame.setDefaultLookAndFeelDecorated(true);<br \/>\n  JFrame frame=new JFrame(&#8220;\u5f00\u7a97\u6237\u6e38\u620f&#8221;);<br \/>\n  frame.getContentPane().add(new Mainpanel());<br \/>\n  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br \/>\n  frame.pack();<br \/>\n  frame.setVisible(true);<br \/>\n }<br \/>\n}<br \/>\nclass Mainpanel extends JPanel{<br \/>\n PanelC pc=new PanelC();<br \/>\n PanelS ps=new PanelS(pc);<br \/>\n public Mainpanel(){<br \/>\n  this.setLayout(new BorderLayout());<br \/>\n  this.add(pc,&#8221;Center&#8221;);<br \/>\n  this.add(ps,&#8221;South&#8221;);<br \/>\n }<br \/>\n}<br \/>\n\/\/\u65b9\u5757\u9762\u677f<br \/>\nclass PanelC extends JPanel{<br \/>\n JButton[] winbutton=new JButton[25];<br \/>\n Color c;<br \/>\n public PanelC(){<br \/>\n this.setLayout(new GridLayout(5,5));<br \/>\n for(int i=0;i<25;i++){\n  winbutton[i]=new JButton();\n  winbutton[i].setActionCommand(String.valueOf(i));\n  c=winbutton[i].getBackground();  \/\/\u83b7\u5f97\u9ed8\u8ba4\u989c\u8272\n  winbutton[i].addActionListener(new OpenOther());\n  this.add(winbutton[i]);\n }\n this.setPreferredSize(new Dimension(300,300));\n }\n class OpenOther implements ActionListener{\n  public void actionPerformed(ActionEvent a){\n   String y=a.getActionCommand();\n   int x=Integer.parseInt(y);\n   Select(x);\n   IsWin();\n  }\n  \/\/\u5224\u65ad\u4e5d\u79cd\u60c5\u51b5\n  private void Select(int x){\n   if(x==0){\n    ChangeColor(winbutton[x]);\n    ChangeColor(winbutton[x+1]);\n    ChangeColor(winbutton[x+5]);\n   }else if(x>0 &#038;&#038; x<4){\n    ChangeColor(winbutton[x]);\n    ChangeColor(winbutton[x-1]);\n    ChangeColor(winbutton[x+1]);\n    ChangeColor(winbutton[x+5]);\n   }else if(x==4){\n    ChangeColor(winbutton[x]);\n    ChangeColor(winbutton[x-1]);\n    ChangeColor(winbutton[x+5]);\n   }else if(x==20){\n    ChangeColor(winbutton[x]);\n    ChangeColor(winbutton[x-5]);\n    ChangeColor(winbutton[x+1]);\n   }else if(x==24){\n    ChangeColor(winbutton[x]);\n    ChangeColor(winbutton[x-5]);\n    ChangeColor(winbutton[x-1]);\n   }else if(x>20 &#038;&#038; x<24){\n    ChangeColor(winbutton[x]);\n    ChangeColor(winbutton[x-5]);\n    ChangeColor(winbutton[x-1]);\n    ChangeColor(winbutton[x+1]);\n   }else if(x%5==0){\n    ChangeColor(winbutton[x]);\n    ChangeColor(winbutton[x-5]);\n    ChangeColor(winbutton[x+1]);\n    ChangeColor(winbutton[x+5]);\n   }else if(x%5==4){\n    ChangeColor(winbutton[x]);\n    ChangeColor(winbutton[x-5]);\n    ChangeColor(winbutton[x-1]);\n    ChangeColor(winbutton[x+5]);\n   }else{\n    ChangeColor(winbutton[x]);\n    ChangeColor(winbutton[x-5]);\n    ChangeColor(winbutton[x-1]);\n    ChangeColor(winbutton[x+1]);\n    ChangeColor(winbutton[x+5]);\n   }\n  }\n  \/\/\u6539\u53d8\u5468\u56f4\u989c\u8272\u51fd\u6570\n  private void ChangeColor(JButton winbutton){\n   if(winbutton.getBackground()==c)\n    winbutton.setBackground(Color.white);\n   else\n    winbutton.setBackground(c);\n  }\n  \/\/\u5224\u65ad\u662f\u5426\u80dc\u51fa\n  private void IsWin(){\n   int a=1;\n   for(int i=0;i<25;i++)\n    if(winbutton[i].getBackground()==Color.white)\n     a++;\n   if(a>25)<br \/>\n    JOptionPane.showMessageDialog(null,&#8221;\u606d\u559c\u8fc7\u5173&#8221;);<br \/>\n  }<br \/>\n }<br \/>\n}<br \/>\nclass PanelS extends JPanel{<br \/>\n JLabel label=new JLabel(&#8220;\u5f00\u7a97\u6237\u6e38\u620f&#8221;);<br \/>\n JButton restart=new JButton(&#8220;\u91cd\u7f6e&#8221;);<br \/>\n PanelC pc;<br \/>\n public PanelS(PanelC pc){<br \/>\n  this.pc=pc;<br \/>\n  restart.addActionListener(new Reset());<br \/>\n  this.add(label);<br \/>\n  this.add(restart);<br \/>\n }<br \/>\n class Reset implements ActionListener{<br \/>\n  public void actionPerformed(ActionEvent a){<br \/>\n   for(int i=0;i<25;i++){\n    pc.winbutton[i].setBackground(pc.c);\n   }\n  }\n }\n}\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>import java.awt.&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-177","post","type-post","status-publish","format-standard","hentry","category-2"],"_links":{"self":[{"href":"https:\/\/out.cat\/index.php?rest_route=\/wp\/v2\/posts\/177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/out.cat\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/out.cat\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/out.cat\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/out.cat\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=177"}],"version-history":[{"count":0,"href":"https:\/\/out.cat\/index.php?rest_route=\/wp\/v2\/posts\/177\/revisions"}],"wp:attachment":[{"href":"https:\/\/out.cat\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/out.cat\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/out.cat\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}