实现窗口有好种方式

一是直接在代码里面创建窗口再进行相应的添加控件

import javax.swing.*;
import java.util.concurrent.*;
public class HelloLabel{
public static void main(String[] args) throws Exception
{
JFrame frame=new JFrame("Hello Swing");
JLabel label=new JLabel("A label");
frame.add(label);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭的事件
frame.setSize(300,100);//设置大小
frame.setVisible(true);//使窗口可视
TimeUnit.SECONDS.sleep(1);//计时器,停顿一秒
label.setText("Hey! This is Different!");
}
}

二、是继承JFrame接口然后在用构造方法进行布局

import javax.swing.*;
import java.util.concurrent.*;
public class SubmitSwingProgram extends JFrame{
JLabel label;
public SubmitSwingProgram(){
super("Hello Swing");
label=new JLabel("A Label");
add(label);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300,100);
setVisible(true);
}
static SubmitSwingProgram ssp;
public static void main(String[] args) throws Exception
{
SwingUtilities.invokeLater(new Runnable(){
public void run(){ssp=new SubmitSwingProgram();}
});
TimeUnit.SECONDS.sleep(1);
SwingUtilities.invokeLater(new Runnable(){
public void run(){
ssp.label.setText("Hey! This is Different!");
}
});
}
}

布局方式:

BorderLayout将整个区域划分为一个部分,分别四个边框区域和一个中央区域,直接利用重载add来进行添加

java本地窗口程序 java 窗口_java

package

import

import

import static

public class BorderLayout1 extends

public

add(BorderLayout.NORTH,new

add(BorderLayout.SOUTH,new

add(BorderLayout.EAST,new

add(BorderLayout.WEST,new

add(BorderLayout.CENTER,new

}

public static void

run(new

}

}

java本地窗口程序 java 窗口_控件_02

FlowLayout(流动)布局:

这个布局也是很好理解的,当你在添加控件的时候假设你当前的控件的大小超过可容纳的区域大小会自动添加到下一行当中。

package

import

import

import static

public class FlowLayout1 extends

public

setLayout(new

for(int

add(new

}

public static void

run(new

}

}

java本地窗口程序 java 窗口_控件_03

GridLayotu(表格)布局:

把当前的区域划分为N*M的表格,然后每一个控制占有一个单元格

package

import

import

import

import static

public class GridLayout1 extends

public

setLayout(new

for(int

add(new

}

public static void

run(new

}

}

java本地窗口程序 java 窗口_控件_04