日期:2014-05-20  浏览次数:20648 次

初学,几个小问题
一个框架窗口示例代码:
import   javax.swing.JFrame;
import   java.awt.Image;
import   java.awt.Toolkit;
import   java.awt.Dimension;
class   SampleJFrame   extends   JFrame
{
SampleJFrame()
{
super( "java示例框架窗口 ");
setSize(500,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(true);
Image   appIcon;
Toolkit   tkit   =   Toolkit.getDefaultToolkit();
appIcon   =   tkit.getImage( "D:\\java\\MyProject\\Applet\\image\\1122.JPG ");
setIconImage(appIcon);
Dimension   screenSize   =   tkit.getScreenSize();
Dimension   frameSize   =   this.getSize();
if(frameSize.height   >   screenSize.height)
{
frameSize.height   =   screenSize.height;
}
if(frameSize.width   >   screenSize.width)
{
frameSize.width   =   screenSize.width;
}
this.setLocation((screenSize.width-frameSize.width)/2   ,
        (screenSize.height-frameSize.height)/2   );
setVisible(true);
}

public   static   void   main(String[]   args)
{
SampleJFrame   sjf   =   new   SampleJFrame();
}
}

问题:
1。super( "java示例框架窗口 ");这句中的super()函数是如何工作的。只知道它给窗口起了个名字,但具体是如何实现的?
2。Toolkit这个类又是如何使用的?JDK的帮助文档有点看不懂,而且之后的很多操作都是通过Toolkit的对象来实现的。
3。this.setLocation()中this去掉后也可以正常运行。那么在这里this起到了什么作用,去掉之后语意有没有改变?

------解决方案--------------------
1.看看继承
2.看看静态方法
3.看看this
------解决方案--------------------
1。super( "java示例框架窗口 ");这句中的super()函数是如何工作的。只知道它给窗口起了个名字,但具体是如何实现的?
是调用父类的JFrame(String title) 这个构造方法

2.Toolkit a=Toolkit.getDefaultToolkit() ;
a就是Toolkit的实例


3、设置窗体左上角显示位置

/**让窗体居中显示
*
* @param frame1 要居中显示的窗体
*/
public static void toCentre(JFrame frame1)
{
Toolkit k = Toolkit.getDefaultToolkit();
Dimension screenArea = k.getScreenSize();
int x = (int)(screenArea.getWidth()-frame1.getWidth())/2;
int y = (int)(screenArea.getHeight()- frame1.getHeight())/2;
frame1.setLocation(x,y);

}