JAVA GUI 简记

F-A 专栏收录该内容
5 篇文章 0 订阅

简单记录下页面中用到的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);
    }
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值