java中编JFrame子类,谁能帮忙讲解一下如下每行代码?

importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassMyJFrameextend... import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MyJFrame extends JFrame{
public MyJFrame(String title, int x,int y,int width,int height){
setTitle(title);
setLocation(x,y);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MyJPanel frameContent = new MyJPanel();
Container visibleArea = getContentPane();
visibleArea.add(frameContent);
frameContent.setPreferredSize(new Dimension(width,height));
pack();
frameContent.requestFocusInWindow();
setVisible(true);

}

}
展开
 我来答
百度网友f52a5cc1d
2012-04-30
知道答主
回答量:8
采纳率:0%
帮助的人:6.3万
展开全部

setTitle(title);

设置标题,图片a1中的englishleaner所占的地方就是标题。

setLocation(x,y);

public void setLocation(int x,int y)

将组件移到新位置。通过此组件父级坐标空间中的 x 和 y 参数来指定新位置的左上角。 

参数:

x - 父级坐标空间中新位置左上角的 x 坐标

y - 父级坐标空间中新位置左上角的 y 坐标

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

用来退出(主要是,有了它以后,退出就会彻底关闭程序,释放内存)的,效果等同于

addWindowListener(new WindowAdapter(){

       public void windowClosing(WindowEvent e){

              System.exit(0);

}

MyJPanel frameContent = new MyJPanel();

这句肯定是存在一个类MyJPanel后才有的,不知道是不是你自己写的类,还是看别人的。

给一个这个类的推测吧。

public class MyJPanel extends JPanel{

         public MyJPanel(/*参数表*/){

                  /*构造函数实现*/

         }

}

Container visibleArea = getContentPane();

public Container getContentPane()

返回此窗体的 contentPane 对象 

就是一个JFrame中除了边框的部分。

这句最好写成:

Container visibleArea = this.getContentPane();

this 是指MyJFrame。

这么写主要是使代码更好阅读。

visibleArea.add(frameContent);

就是把frameContent 加入到 visibleArea中。

frameContent.setPreferredSize(new Dimension(width,height));

这是在设置frameContent的首选大小,这主要是用来在没有给定大小(也就是加入到frameContent中的MyJPanel的对象没有加入组件,大小为0,此时,frameContent的大小也为0。)如果是括号中的情况,就选用这个给定的首选大小而不是0。当然,这里用0来表示大小不太适合,反正就是这么个意思。你在理解理解吧。

Dimension(width,height)就是一个给定了宽和高的矩形。

pack();

使得组件能够自己适应自己需要的大小。

frameContent.requestFocusInWindow();

使frameContent获得焦点,就相当于我们同时打开了两个程序A和B,当我们点到B时,焦点就在B上,而A就没有焦点。如果A请求(request)焦点(Focus),那么焦点就回到A。就相当于我们现在再重新点到程序A。

setVisible(true);

使的MyJFrame可见,系统默认的是不可见的,所以需要这一行来使得组件MyJFrame 可见。

当然这里的MyJFrame 是类,我们实际中是使得这个类的一个对象可见,但是在你给的代码中没有具体的对象,所以就用MyJFrame代指具体的对象。

roylongbin
2012-04-30
知道答主
回答量:4
采纳率:0%
帮助的人:6421
展开全部
看Java API文档,里面有注释。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式