一个框架窗口示例代码:
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起到了什么作用,去掉之后语意有没有改变?
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起到了什么作用,去掉之后语意有没有改变?
解决方案 »
- jni调用如果出异常,是当前运行线程崩溃呢,还是整个jvm崩溃
- socket在传输数据的过程中能不能取消传输
- 我很不理解
- 这个是什么意思?
- 怎样学java的GUI比较有效
- 关于java配置的问题呢???刚开始学不懂呢~~~~~~~~~~~~~
- 为何我连接数据库出现这样子的错误??
- 求一个java实现的资源管理器的源码,类似windows的树状结构.谢谢
- 痛苦中:JInternalFrame关掉之后如何再打开?
- 有谁知道在《java2核心技术》卷I中的光盘中的corejava包的Day类的两个关于日期算法???
- 如何在具有GUI界面的java程序中退出时自动启动浏览器并且访问某一个特定网址?
- 高份求解2题
2.看看静态方法
3.看看this
是调用父类的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);
}
怪我表达不清楚
1。this和super指针我大概了解,只是第一次看到super()的形式所以看不懂,那么按楼上的说法,super()的作用是不是就是调用父类中的构造函数?
2。Toolkit怎么用我看示例大概了解,只是对这个类的实际功能和在整个框架中的地位不是很清楚。
3。this和super我感觉在重载的时候才有用,这里应该没有重载吧,this可以省略,那么这里this.setLocation()和setLocation()是不是就是等价的?