Java Swing窗口
什么是JavaSwing窗口?
//所谓的窗口就是一个底层容器,由JFrame类
创建的实例,其他组件必须被添加到底层容器中//JFrame类是Contrainer类的间接子类,当需要窗口时可以通过JFrame类创建对象得到//窗口也是一个容器,默认被 系统添加到显示器屏幕上,因此不允许
将窗口添加到另一个容器中
JFrame的常用方法
JFrame()
//创建一个窗口(默认构造方法)JFrame(String s)
//创建一个标题为s的窗口(第二种构造方法)public void setBounds(int a,int b,int width,int height)
//设置窗口的初始化位置,以及宽高(a为距离左屏幕,b为距离上屏幕)public void setSize(int width,int leight)
//设置窗口大小public void setLocation(int x,int y)
//设置窗口位置,默认是(0,0)public void setVisible(boolean)
//设置窗口是否可见(默认是不可见的)public void setResizable(boolean b)
//设置窗口是否可以调整大小(默认是可调)public void setDefaultCloseOperation(int operation)
//设置点击右上角的X号号程序做什么
参数operation可以取JFrame类的static常量
DO_NOTHING_ON_CLOSE
(点击之后什么都不做)
HIDE_ON_CLOSE
(点击之后将窗口隐藏)
DISPOSE_ON_CLOSE
(点击之后释放当前窗口占用的资源)
EXIT_ON_CLOSE
(点击之后结束窗口所在的程序)public Container getContentPane()
//设置内容面板,返回Container类型
setBackground(new Color(r,g,b))
//设置内容面板颜色
例子
import javax.swing.*;
import java.awt.*;
public class Example10_1 {
public static void main(String[] args) {
JFrame window1 = new JFrame(); //创建一个窗口对象
window1.setBounds(200,200,200,200); //设置窗口的位置大小
window1.setVisible(true); //窗口是否可见
Container con = window1.getContentPane(); //创建一个Container类型变量存放窗口的内容面板
con.setBackground(new Color(54, 103, 40)); //设置内容面板颜色
}
}
菜单条/菜单/菜单项
菜单条/菜单/菜单项是窗口常用的组件,菜单
放到菜单条
里,菜单项
到菜单
里
菜单条
JComponent类
的的子类JMenuBar
负责创建菜单条,也就是JMenuBar的实例就是一个菜单条
JFrame类将菜单条添加到窗口的方法setMenuBar(JMenuBar bar)
菜单
JComponent类
的的子类JMenu
负责创建菜单,即JMenu的实例就是一个菜单
菜单项
JComponent类
的的子类JMenuItem
负责创建菜单项,即JMenuItem的实例就是菜单项
嵌入子菜单
JMenu是JMenultem的子类,因此菜单本身也是一个菜单项,也就是菜单项里面有子菜单
菜单上的图标
用图标类Icon声明一个图标,然后用其子类imageIcon创建一个图标
然后用菜单项调用setIcon(Icon icon)
方法
例子
import javax.swing.*;
import java.awt.*;
public class Example10_1 {
public static void main(String[] args) {
JFrame window1 = new JFrame(); //创建一个窗口对象
window1.setBounds(200,200,700,500); //设置窗口的位置大小
window1.setVisible(true); //窗口是否可见
Container con = window1.getContentPane(); //创建一个Container类型变量存放窗口的内容面板
con.setBackground(new Color(54, 103, 40)); //设置内容面板颜色
JMenuBar jMenuBar = new JMenuBar(); //设置菜单条
JMenu jMenu = new JMenu("菜单"); //设置菜单
JMenuItem item1 = new JMenuItem("项目"); //设置菜单项
item1.setIcon(new ImageIcon("爱心.gif")); //设置项目1图标
JMenu jMenu1 = new JMenu("子菜单"); //设置菜单的子菜单
JMenuItem item2 = new JMenuItem("项目2"); //设置子菜单项目
jMenu1.add(item2); //子菜单添加项目2
jMenu.add(item1); //菜单添加项目1
jMenu.add(jMenu1); //菜单添加子菜单
jMenuBar.add(jMenu); //菜单条添加菜单
window1.setJMenuBar(jMenuBar); //窗口设置菜单条
}
}
例子2
import javax.swing.*;
import java.awt.*;
class myWindow extends JFrame{
JMenuBar jMenuBar;
JMenu jMenu,item2;
JMenuItem item1;
myWindow(){
}
myWindow(String s,int x,int y,int a,int b){
init(s);
setLocation(x, y);
setSize(a,b);
setVisible(true); //设置窗口可见
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //点击x号关闭程序
}
void init(String s){
setTitle(s); //调用父类方法自定义标题
jMenuBar = new JMenuBar();
jMenu = new JMenu("文件");
item1 = new JMenuItem("设置");
item2 = new JMenu("最近文件");
jMenu.add(item1);
jMenu.add(item2);
jMenuBar.add(jMenu);
setJMenuBar(jMenuBar);
}
}
public class Example10_1 {
public static void main(String[] args) {
myWindow one = new myWindow("窗口",200,200,500,700);
}
}
CET4P157
chew
original
vacant
communication
religion
Christian
dragon
bloom
specimen
beyond
utmost
hardware