跪求哪位java大神帮我解释下下面一段代码是什么意思啊~~ 最好是每一句都有解释。。 谢谢啦~~!!!!

// Fig. 12.25: BorderLayoutDemo.java 布局管理器
// Demonstrating BorderLayout.
import java.awt.*;导入java子包awt包中所有的类
import java.awt.event.*;
import javax.swing.*;

public class BorderLayoutDemo extends JFrame
implements ActionListener {
private JButton b[];
private String names[] =
{ "Hide North", "Hide South", "Hide East",
"Hide West", "Hide Center" };
private BorderLayout layout;

public BorderLayoutDemo()
{
super( "BorderLayout Demo" );

layout = new BorderLayout( 5, 5 );

Container c = getContentPane();
c.setLayout( layout );

// instantiate button objects
b = new JButton[ names.length ];

for ( int i = 0; i < names.length; i++ ) {
b[ i ] = new JButton( names[ i ] );
b[ i ].addActionListener( this );
}

// order not important
c.add( b[ 0 ], BorderLayout.NORTH ); // North position
c.add( b[ 1 ], BorderLayout.SOUTH ); // South position
c.add( b[ 2 ], BorderLayout.EAST ); // East position
c.add( b[ 3 ], BorderLayout.WEST ); // West position
c.add( b[ 4 ], BorderLayout.CENTER ); // Center position

setSize( 300, 200 );
show();
}

public void actionPerformed( ActionEvent e )
{
for ( int i = 0; i < b.length; i++ )
if ( e.getSource() == b[ i ] )
b[ i ].setVisible( false );
else
b[ i ].setVisible( true );

// re-layout the content pane
layout.layoutContainer( getContentPane() );
}

public static void main( String args[] )
{
BorderLayoutDemo app = new BorderLayoutDemo();

app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
System.exit( 0 );
}
}
);
}
}

/**************************************************************************
* (C) Copyright 1999 by Deitel & Associates, Inc. and Prentice Hall. *
* All Rights Reserved. *
* *
* DISCLAIMER: The authors and publisher of this book have used their *
* best efforts in preparing the book. These efforts include the *
* development, research, and testing of the theories and programs *
* to determine their effectiveness. The authors and publisher make *
* no warranty of any kind, expressed or implied, with regard to these *
* programs or to the documentation contained in these books. The authors *
* and publisher shall not be liable in any event for incidental or *
* consequential damages in connection with, or arising out of, the *
* furnishing, performance, or use of these programs. *
*************************************************************************/

import java.awt.*;//导入java子包awt包中所有的类
import java.awt.event.*;
import javax.swing.*;

public class BorderLayoutDemo extends JFrame
implements ActionListener {
private JButton b[];
private String names[] =
{ "Hide North", "Hide South", "Hide East",
"Hide West", "Hide Center" };
private BorderLayout layout;

public BorderLayoutDemo()
{
super( "BorderLayout Demo" );//窗口名称设置为"BorderLayout Demo"

layout = new BorderLayout( 5, 5 );//BoderLayout是一个东西南北中的布局模式 5,5是 组件之间的间距

Container c = getContentPane();//获取JFrame默认的布局容器panel
c.setLayout( layout );//设置容器布局模式为BorderLayout布局

// instantiate button objects
b = new JButton[ names.length ];//根据数组names长度开辟按键数组

for ( int i = 0; i < names.length; i++ ) {//实例化每个按键
b[ i ] = new JButton( names[ i ] );
b[ i ].addActionListener( this );//为按键加入监听
}

// order not important
c.add( b[ 0 ], BorderLayout.NORTH ); // North position 将b[0]放在北边
c.add( b[ 1 ], BorderLayout.SOUTH ); // South position 将b[1]放在南边
c.add( b[ 2 ], BorderLayout.EAST ); // East position 将b[2]放在东边
c.add( b[ 3 ], BorderLayout.WEST ); // West position 将b[3]放在西边
c.add( b[ 4 ], BorderLayout.CENTER ); // Center position将 b[4]放在中部

setSize( 300, 200 ); //设置窗口大小
show();//显示窗口 已过时 建议使用 setVisible(true);//设置可见
}

public void actionPerformed( ActionEvent e )//监听
{
for ( int i = 0; i < b.length; i++ )
if ( e.getSource() == b[ i ] )
b[ i ].setVisible( false ); //按键设置为不可见
else
b[ i ].setVisible( true );//按键设置为可见

// re-layout the content pane
layout.layoutContainer( getContentPane() );//重新布局
}

public static void main( String args[] )
{
BorderLayoutDemo app = new BorderLayoutDemo();

app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )//窗口关闭 退出
{
System.exit( 0 );
}
}
);
}
}
温馨提示:内容为网友见解,仅供参考
无其他回答

求java大神帮我详细注释下下面这段代码,是model层工资模块里复制出来...
public String getJbx() {String str=""+jb;\/\/jb 工资比如4321.2元System.out.println("--- "+str);int i = str.lastIndexOf(".");\/\/找出小数点在字符串中的下标System.out.println("!!! "+i);String newstr = str.substring(i+1);\/\/剪切出小数点之后的数字 newstr=2System.o...

哪位大神帮我看下这段java代码,解释下希望详细点谢谢,是电影院购票系统...
把seatd根据,分成个数组,取得数组中的值就是rows[0]和rows[1]给odb中的变量赋值 把odb放到集合中

...看一下这段代码有没有什么问题一直报这个错误java.lang.StackOverflowE...
出现这个问题的原因是递归无限调用了,最后stack举出。

...看一下这段代码有没有什么问题一直报这个错误java.lang.StackOverflowE...
这个错误是说,堆栈溢出了,一般程序调用过程或者函数,使用堆栈的,也有可能直接使用堆栈,堆栈一般是有大小限制的,所以要控制好,不要让堆栈溢出,

哪位大神帮我看一下下面这段代码的输出结果为什么是x=1而不是x=10;
<%!int x = 10; %> 相当于一个全局变量。翻译成java代码,如下:public class TestStaticKey {int x = 10;public TestStaticKey(){ }public static void main(String[] args){int x =1 ;System.out.println("X=" +x); }}

这段java代码是什么意思?
这一段代码是Java多线程和Socket通信相关的,大致一看跟一般的聊天室demo有些相似建议您先学习一下Java多线程的基础知识了解一下Runable接口和Thread 类,以及了解相关Socket初步知识import java.io.IOException;import java.io.PrintStream;import java.net.ServerSocket;import java.net.Socket;\/**一个多...

异或运算,求Java大神解释下题什么意思
这三句代码的意思是将a,b的值进行互换,与a=a+b;b=a-b;a=a-b;的效果是一样的,这样做的愿意是a^a=0,即同一个数出现偶数次,相当于出现0次。

Java中boolean数组随机数问题,以下有代码,两个问题(已标注),求大神解 ...
还是建议自己给个值,哪怕就是false。就像定义int类型一样,它们都有默认值0。问题二:参照问题一,你的困惑估计也就是没初始化给你造成的误解。它们有默认值false,写这个函数的偷懒了。你可以给手动初始化一下,虽然不会对结果有任何影响,但是别人容易看懂啊,就像你被蒙了吧,逻辑上也清晰一些。

求大神翻译一下这段编程语言 。。! invoke-static {v2,v0} Lcom\/hu...
move-result-object v0 这两句是调用com\/huati\/api\/b\/e类的d方法因为不是静态方法所以要传递他的父类v3这个参数。java\/lang\/Object是他的返回值。move这句是把返回值存入v3寄存器。check-cast v0 Lcom\/huati\/api\/data\/c;这句是强制类型转换把v0寄存器的值转为com\/huati\/api\/data_c类型。invoke...

请各位java 大神帮忙解释一下下面语句 语句中“?”和“:”的意义是什么...
三元运算,固定写法。这样理解:if(e.getDistance() > 200){ (e.getDistance() > 200 ? 1.9 : 3.0) 这个整体值为1.9}else{ (e.getDistance() > 200 ? 1.9 : 3.0) 这个整体值为3.0}谢谢,你百度一下三元运算,看一下就知道具体过程了。

相似回答