alltolove 发表于 2017-9-2 06:25:41

java的hello world窗口

import javax.swing.*;
import java.awt.Font;
class HelloWorld extends JFrame{
        private JPanel jp;
        private JLabel jl;
        public static void main(String args[]){
                //生成HelloWorld类的对象
                HelloWorld jf = new HelloWorld();
                //设置窗口可见
                jf.setVisible(true);
        }
        HelloWorld(){
                //设定窗体的位置和大小
                setBounds(100,100,450,300);
                //设置点关闭窗体自动关闭
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                //给JPanel控件开辟空间
                jp = new JPanel();
                //设置字体
                Font helv14b = new Font("Helvetica", Font.BOLD, 14);
                //给JLabel控件开辟空间
                jl = new JLabel("Hello world");
                //设置字体
                jl.setFont(helv14b);
                //把JLabel控件加入JPanel里               
                jp.add(jl);
                //把JPanel控件放进JFrame里
                setContentPane(jp);
        }
}
效果图:

        这就是Hello world窗体的代码,里面包含的语法点非常多。首先引入swing awt两个包,就相当于其他语言的命名空间,每个包就是不同的目录,这都应该知道。
        类里面的属性前的private关键字是私有的意思,就只有类里面才能访问到,如果不写这个关键字那目录里所有文件都能访问,如果在不同包里访问必须是public关键字才行,还要引包。
        在主函数里HelloWorld jf = new HelloWorld();的这句代码是把这个类生成了一个放在栈里jf的对象,把jf指向一个new出来的堆空间,栈是相当于cpu里的寄存器,存储速度快,而且一般是先进后出。堆就相当于是内存。所以这种又叫做引用类型。
        底下的HelloWorld()这个函数是一个构造器,一旦类被创建了对象自动执行里面的代码。
        setBounds(100,100,450,300);这句话其实是调用了HelloWorld类里继承JFrame的函数,java只支持单继承,就是只有一个父类。父类里所有的元素除了前面有protect和private关键字的元素都可以继承过来。
       
页: [1]
查看完整版本: java的hello world窗口