一个框架窗口示例代码:
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);
}