JAVA GUI 简记

来源:互联网 发布:淘宝旺旺号名字大全 编辑:程序博客网 时间:2024/06/08 16:59

简单记录下页面中用到的GUI组件,方便查阅,swing为主

java的GUI大致可以分为容器和控件两个部分,其中控件像按钮,文本框用来实现某种特定功能,而容器则是用来盛放各个控件还有其它容器,多用于布局。

窗口容器:
理论上图形用户界面都需要一个基础的窗口组件(有红叉叉的那种),窗口容器不能相互包含。
JFarme是SWing 里的窗口容器,其构造函数就是生成一个窗口(“带题目”)。

一般生成窗口时都会先继承该类然后实现,要注意创建出的窗口对象还几乎没有任何属性(包括位置,大小,可见性,关闭按钮云云),都要手动实现

public class MyFrame extends JFrame {    JMenuBar bar; //上菜单栏    JMenu  Menu1,Menu2;    JMenuItem item1_1,item2_1;    JPanel JP1,JP2;    JTextArea tA1,tA2,tA3;    JTextField tF1;    JButton JB1;    public MyFrame ()//该类的构造方法    {        super("电影查询");                                      //实现父类构造方法        this.setSize(800, 600);                               //设置窗口大小        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //点击叉号时关闭窗口并结束程序        this.setLocation(500, 200);                           //设置窗口位置(左上角)        this.setVisible(true);                                //设置为可见(不写看不见...)    }}
  • 普通容器
    JPane是一个基础容器,仅仅用于布局划分,还有一个带滚动条的容器JScrollPane;
    多数容器的构造方法都可以选择布局管理器或者内部组件,实例化后使用add()方法添加内部组件
  • 布局管理器
    几乎所有的组件都可以用setLocation来设置其在容器中的位置,但如果想要快速的进行布局,就要使用布局管理器
    FlowLayout:浮动布局管理器
    BorderLayout:边框布局管理器
    GridLayout:网格布局管理器
    CardLayout:卡片布局管理器
    GridBagLayout:网格包布局管理器
    添加了布局管理器的容器在add方法时可以使用组件之外的参数来确定插入组件的位置
  • 文本框和文本域
    需要文本显示时使用JTextArea或JTextfiled来创建文本区域(分别是一行和多行的区别)
    使用setEditable来设置是否接受输入。可以用来区分输入框和显示框
  • 按钮
    Button,JButtton
public void showMessage()    {        //中部显示栏        JP1 = new JPanel(new GridLayout(1, 3));        JP2 = new JPanel(new FlowLayout());        this.add(JP1,"Center");        this.add(JP2, "South");        tA1 = new JTextArea();tA2 = new JTextArea();tA3 = new JTextArea();        tA2.setBackground(Color.blue);        JP1.add(new JScrollPane(tA1));JP1.add(new JScrollPane(tA2));JP1.add(new JScrollPane(tA3));        tA1.setEditable(false);tA2.setEditable(false);tA3.setEditable(false);        tA1.setText("jhahhajdf");        //下部状态栏        tF1 = new JTextField("搜索时间", 60);  tF1.setEditable(false);        JP2.add(tF1);        JB1 = new JButton("保存为文件");        JB1.setEnabled(false);        JP2.add(JB1);        this.setVisible(true);    }
  • 上菜单栏
    菜单栏的实现需要三个对象JMenuBar,JMenu,JMenuItem
    JMenuBar是创建菜单域(菜单栏容器)
    JMenu是其中具体菜单按钮
    JMenuItem是每一个菜单中的选项
    层层嵌套,声明后用add添加
        public void showContrl()    {        //添加上菜单栏        bar = new JMenuBar();        this.add(bar,"North");        Menu1 = new JMenu("启动");        Menu2 = new JMenu("配置");        bar.add(Menu1);  bar.add(Menu2);        item1_1 = new JMenuItem("启动1");        item1_1 = new JMenuItem("启动2");        Menu1.add(item1_1);        item2_1 = new JMenuItem("配置1");        item2_1 = new JMenuItem("配置2");        Menu2.add(item2_1);//      this.setVisible(false);//      this.setVisible(true);    }
原创粉丝点击