创建面板(GUI,JFrame的基本使用方法,监听)

目录

GUI:

Swing :

常用容器:JFrame类创造窗体

JPanel面板:

常用组件:标签,文本,按钮

1.JLabel标签 :

2.单行文本(JTextField),多行文本框(JTextArea)

JFrame的基本使用方法:

Layout:布局

1.流式布局

2.边界布局

3.网格布局

菜单:

监听:事件处理


GUI:

GUI(Graphical User Interface)即图形用户界面,是指采用图形方式显示的用户界面,与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。

Swing :

简介:swing 是一个为Java设计的GUI工具包javax.swing,该包中包括了图形用户界面的各种组件支持。 一个 Java 的图形界面,由各种不同类型的“元素”组成,这些“元素”被称为组件(Component)。

swing中的组件可以分为两大类:容器(如窗口,对话框,面板)和功能组件(如按钮,输入框,菜单等). 它们的区别主要是在概念上的。因为每个容器也都是组件。容器是一种可以包含组件的特殊组件。

常用容器:JFrame类创造窗体

方法:

设置窗体大小:void setSize(int width, int height)

是否可见窗体:void setVisible(boolean b)

设置窗口标题:void setTitle(String title

是否可以拖拽改变大小:void setResizable(boolean resizable)

设置出现的初始位置:void setLocation(int x,int y)

是否置于屏幕中心:void setLocationRelativeTo(null);

关闭窗口程序停止:void setDefaultCloseOperation(int operation)

当前窗口消失:void dispose()

JPanel面板:
构造方法说明
JPanel()创造一个空面板
JPanel(LayoutManaer layout)创造带有指定布局的面板

常用方法:

void setBackground(Color bg)设置面板的背景色,由参数bg指定颜色

void setLayout(LayoutManager mgr)设置面板的布局,参数是布局管理器

Component add(Component comp)往面板中添加一个组件

常用组件:标签,文本,按钮
1.JLabel标签 :

JLable:创建一个空的标签

JLabel(String text) 创建一个带文本的标签

方法:

void setText(String text) 设置标签上的文本

String getText() 获得标签上的文本

setFont(new Font(“宋体”,Font.BOLD, 18)); 设置字体

2.单行文本(JTextField),多行文本框(JTextArea)

JTextField:

JTextField的构造函数:

JTextField(int columns)

方法:

void setText(String text) 设置文本框中的文本

String getText() 获得文本框中的文本

JTextArea:

构造函数:

JTextArea(int rows, int columns) 创建一个指定行数和列数的空文本域

方法:

void setText(String text) 设置文本域中的文本

String getText() 获得文本域中的文本

void setFont(Font font) 设置文本域中文本的字体

void setLineWrap(boolean wrap) //是否自动换行,默认false

如果需要文本区自动出现滚动条,可将文本区对象放入滚动窗格(JScrollPane)中:

JScrollPane scrollPane = new JScrollPane(txtArea);

add(scrollPane );

JFrame的基本使用方法:

用方法继承JFrame父类,然后重写他的构造方法。

Layout:布局

有三种布局方式

1.流式布局
public class DemoFrame extends JFrame {
​
    public DemoFrame()
    {
        this.setTitle("欢迎登录");//设置标题
        this.setSize(200, 200);//设置窗口宽高
        this.setLocation(200, 400);//设置窗口位置
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序
​
​
        /*面板组件:布局管理器
        * Flowlayout:流式布局   默认布局方式
        *             把组件放在一排,从左到右排放,一行占满后,重新开启一行。
        *             模板默认流式布局是水平居中的
        * */
        JPanel jPanel1=new JPanel(new FlowLayout());
        //JPanel jPanel1=new JPanel(new FlowLayout(FlowLayout.LEFT,10,10));//设置组件之间水平,垂直间距
​
        JButton jButton1=new JButton("按钮一");
        JButton jButton2=new JButton("按钮二");
​
        jPanel1.add(jButton1);
        jPanel1.add(jButton2);
                //把面板添加到窗口上
        this.add(jPanel1);
        this.setVisible(true);//让窗口显示,放在代码的最后一行。
    }
​
    public static void main(String[] args) {
        new DemoFrame();
    }
}
2.边界布局
public class DemoFrame extends JFrame {
​
    public DemoFrame()
    {
        this.setTitle("欢迎登录");//设置标题
        this.setSize(200, 200);//设置窗口宽高
        this.setLocation(200, 400);//设置窗口位置
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序
​
​
        /*边界布局:
        *   总共有五个区域,每个区域可以放置一个组件,并且占满该区域的空间
        *   中间区域是必须的,其他几个区域可以根据需要使用
        * */
        JPanel jPanel2=new JPanel(new BorderLayout());
          JButton jButton3=new JButton("按钮一");
          JButton jButton4=new JButton("按钮二");
          JButton jButton5=new JButton("按钮三");
          JButton jButton6=new JButton("按钮四");
          JButton jButton7=new JButton("按钮五");
​
          jPanel2.add(jButton3,BorderLayout.EAST);
          jPanel2.add(jButton4,BorderLayout.WEST);
          jPanel2.add(jButton5,BorderLayout.NORTH);
          jPanel2.add(jButton6,BorderLayout.SOUTH);
          jPanel2.add(jButton7,BorderLayout.CENTER);
                 //把面板添加到窗口上
        this.add(jPanel2);
        this.setVisible(true);//让窗口显示,放在代码的最后一行。
    }
​
    public static void main(String[] args) {
        new DemoFrame();
    }
}
3.网格布局
public class DemoFrame extends JFrame {
​
    public DemoFrame()
    {
        this.setTitle("欢迎登录");//设置标题
        this.setSize(200, 200);//设置窗口宽高
        this.setLocation(200, 400);//设置窗口位置
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序
​
        /*网格布局
        *
        * */
        JPanel jPanel3=new JPanel(new GridLayout(2,2));
          JButton jButton8=new JButton("按钮一");
          JButton jButton9=new JButton("按钮二");
          JButton jButton10=new JButton("按钮三");
          JButton jButton11=new JButton("按钮四");
​
          jPanel3.add(jButton8);
          jPanel3.add(jButton9);
          jPanel3.add(jButton10);
          jPanel3.add(jButton11);
        //把面板添加到窗口上
        this.add(jPanel3);
        this.setVisible(true);//让窗口显示,放在代码的最后一行。
    }
​
    public static void main(String[] args) {
        new DemoFrame();
    }
}
菜单:

位于边框下,分为菜单栏,菜单以及菜单项目先创建菜单栏,菜单,以及菜单项目,再将菜单栏放入面板,菜单放入菜单栏,菜单项目放入菜单项目。

public class Component1Frame extends JFrame{
   public Component1Frame()
   {
       this.setTitle("欢迎登录");//设置标题
       this.setSize(200, 200);//设置窗口宽高
       this.setLocation(200, 400);//设置窗口位置
       this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序
​
       //菜单栏
       JMenuBar jMenuBar=new JMenuBar();
​
       //创建菜单
       JMenu jMenu1=new JMenu("文件");
       JMenu jMenu2=new JMenu("编辑");
       JMenu jMenu3=new JMenu("帮助");
​
       //菜单项目
       JMenuItem jMenuItem1=new JMenuItem("新建");
       JMenuItem jMenuItem2=new JMenuItem("保存");
       JMenuItem jMenuItem3=new JMenuItem("剪切");
       JMenuItem jMenuItem4=new JMenuItem("复制");
       JMenuItem jMenuItem5=new JMenuItem("关于我们");
​
       //把菜单添加到菜单栏
       jMenuBar.add(jMenu1);
       jMenuBar.add(jMenu2);
       jMenuBar.add(jMenu3);
​
       //把菜单项目添加到菜单栏
       jMenu1.add(jMenuItem1);
       jMenu1.add(jMenuItem2);
       jMenu2.add(jMenuItem3);
       jMenu2.add(jMenuItem4);
       jMenu3.add(jMenuItem5);
​
       this.setJMenuBar(jMenuBar);//放置菜单栏
​
       this.setVisible(true);//让窗口显示,放在代码的最后一行。
   }
​
    public static void main(String[] args) {
        new Component1Frame();
    }
}

测试结果:

监听:事件处理

● Java中,事件处理的基本思路如下:

● 一个事件源产生一个事件并把它送到监听器那里,监听器一直等待,直到它收到一个事件,一旦事件被接受,监听器将处理这些事件;

使用方法举例:

JButton jButton1 = new JButton("注册");
jButton1.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
           JOptionPane.showMessageDialog(null, "你点击了");
    }
});

当点击内容为注册的Jbutton1组件的时候,系统进行处理。

  • 22
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JFrame应用软件开发平台是一个基于JavaEE的面向应用软件开发的框架及自动化代码生成平台。通过使用JFrame,应用软件的开发不再需要重头做起,只需通过JFrame自动代码生成工具配置、生成业务代码,并在此基础上简单地补充的业务逻辑即可。 JFrame降低了软件开发人员的要求,开发人员也无需掌握太多的编程知识,只需掌握JavaJavaScript基础知识,就可在平台上进行二次开发。TJFrame的目标是:“直接降低软件企业80%的研发成本,缩短项目开发发周期,提升客户满意度”;应用软件开发过程中80%的重复工作将由JFrame来完成,20%的特殊业务逻辑代码由开发人员在生成的代码基础上补充完善。 JFrame应用软件开发平台就如“一套毛胚房”,提供了软件的基本框架和相关基础设施;软件开发团队获取该平台后,可以对其进行“二次装修”,根据自己的业务需求,在其基础之上进行二次开发,实现满足业务需求的应用软件。JFrame应用软件开发平台作为作基础软件,能够满足您应用软件开发的各种需求,而且特别适合于各类管理信息系统的开发。 JFrame开发团队将不断的完善其功能,以使其能够满足更广泛的需求。JFrame不承诺可以实现“零代码”开发,因为业务逻辑千变万化,不可能有真正的“零代码”开发平台,但JFrame却是解决软件工程问题的“银弹”。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值