JAVA——JFrame窗体容器

JAVA——JFrame窗体容器java 图形化界面设计 容器 JFrame jframe

大家好,欢迎来到IT知识分享网。

目录

JFrame的使用

创建JFrame对象

JDialog

构造函数:

常用面板JPanel

JScrollPane

设置容器:

标签组件JLabel

构造函数:  

JButton

构造方法:  

其他方法:   

单选按钮组件类

构造方法:   

复选组件框类 JCheckBox

构造方法:

下拉列表组件类 JComboBox

构造方法:

方法:

菜单栏:   

步骤:

文本组件类: JTextField

构造函数:  

其他方法:

密码框组件类:JPasswordField

构造函数:

其他方法:

文本域组件类: JTextArea

构造函数:

其他方法:

布局方式:   

流布局 FlowLayout     

构造方法:   

通过setLayout函数来设置布局

边界布局BorderLayout  

构造方法:

网格式布局管理器 GridLayout

构造方法:

手工布局  

常用的事件监听器:  

使用步骤:

两种监听器:

事件处理详解:

示例代码


java图形化界面设计——容器(JFrame)

JFrame的使用

创建JFrame对象

JFrame jf = new JFrame(“我是标题”);

jf.setTitle(“标题”);     //标题设置的两种方式

jf.setSize(1000,600); //窗口大小

jf.setLocation(100,100); //窗口出现在屏幕上的位置

setSize和setLocation可以合并为一个即setBounds() jf.setBounds(100,100,1000,600);

jf.setVisible(true);   // 设置窗口默认是否显示

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   //设置关闭方式

JDialog

JDialog 是从一个窗体弹出来的另外一个窗体,和JFrame类似可当成一个JFrame使用,但是必须从属于JFrame

构造函数:

JDialog();
JDialog(Frame f);     指定父窗口
JDialog(Frame f,String title);     指定父窗口+标题

常用面板JPanel

JPanel p = new JPanel(100,100,500,300)  //生成面板
JPanel p = new JPanel(new FlowLayout())  //布局管理器

将面板添加进另外的容器中

容器名.add(p);  

JScrollPane

JScrollPane是带滚动条的面板,在碰到需要将一个大的组件放到一个较小的空间的时候,即使用该面板其内只能添加一个组件,如果需要将多个组件添加到一个JScrollPane中时,需要先将需要添加的组件添加到JPanel中,再将JPanel添加进JScrollPane

JScrollPane jp = new JScrollPane(组件)

设置容器:

为JFrame设置一个面板容器,即可以往面板容器中添加组件

jf.setContentPane(jp);

标签组件JLabel

JLabel作用:显示文本或提示信息

构造函数:  

new JLabel();
new JLabel(Icon icon);   //设置图标
new JLabel(Icon icon,int aligment);  //设置图标+水平对齐方式
new JLabel(String str,int aligment); //设置文本+水平对齐方式
SwingConstants.LEFT   左对齐
SwingConstants.CENTER  居中对齐
SwingConstants.RIGHT  右对齐


new JLabel(String str,Icon icon,int sligment);  //设置文本+图标+水平对齐




例如:

设置字体,风格,字号:

jl.setFont(new Font(“微软雅黑”,Font.PLAIN,14));

设置文字颜色:使用RGB颜色,百度RGB颜色表

 jl.setForeground(new Color(255,255,255));

jl.setHorizontalAlignment(SwingConstants.CENTER);

JButton

作用:按钮

构造方法:  

其他方法:   

单选按钮组件类

单选按钮组件类:  JRadioButton ButtonGroup

说明:JRadioButton是一个单选按钮,需要将单选按钮加入到按钮组ButtonGroup中

构造方法:   

复选组件框类 JCheckBox

构造方法:

下拉列表组件类 JComboBox

JComboBox<> jcb = new JComboBox<>();

JComboBox是一个泛型,参数类型T表示的是数据项的类型

构造方法:

方法:

菜单栏:   

步骤:

文本组件类: JTextField

构造函数:  

其他方法:

密码框组件类:JPasswordField

构造函数:

其他方法:

setEchoChar(‘*’);  //设置回显字符

文本域组件类: JTextArea

构造函数:

其他方法:

布局方式:
   

流布局 FlowLayout     

所有组件像流一样,一个一个排放,排满了一行之后排下一行,默认情况下,每个组件是居中排列的但也可以设置

构造方法:   

通过setLayout函数来设置布局

例如:jf.setLayout(new FlowLayout(FlowLayout.LEFT));

边界布局BorderLayout  

边界布局是默认的布局管理方式

边界布局将容器分成了

构造方法:

jf.setLayout(new BorderLayout());

如: jf.add(button1,BorderLayout.CENTER);

网格式布局管理器 GridLayout

 网格布局是将容器划分为网格,所有的组件都按照行和列排列,网格的个数由行数和列数决定每个组件会填满空格,改变容器的大小,组件的大小也会相应的随之改变

构造方法:

手工布局  

即不使用布局器    

常用的事件监听器:  

一个事件模型中有三个对象:事件源,事件,以及监听程序

事件监听机制:

JAVA——JFrame窗体容器

使用步骤:

两种监听器:

                       public void focusLost(FocusEvent e){

                             //失去焦点的时候
                             ……………..
                       }
                       public void focusGained(FocusEvent e){

                            //获取焦点的时候
                             ……………..
                       }
              });
                            








 案列:    button1.addActionListener(new AbstractAction(){

                             @Override
                             public void actionPerformed(ActionEvent e) {

                                       jta.append(“年轻人好自为之”);
                              }
                 });




事件处理详解:

1.添加一个监听器类,实现ActionListener接口

class MyActionListener extends ActionListener{}

示例代码

//创建JFrame窗口对象 JFrame jf = new JFrame("我是标题"); jf.setBounds(100,100,1000,600); //面板 JPanel jp = new JPanel(new FlowLayout()); jf.add(jp); //标签组件 JLabel jl = new JLabel("我是提示文本信息",SwingConstants.CENTER); jl.setText("账号"); jp.add(jl); //按钮组件 JButton jb = new JButton("按钮1"); jb.setBounds(100,100,200,100); jb.setEnabled(true); jb.setBorderPainted(true); jp.add(jb); //单选按钮组件 JRadioButton jrb1 = new JRadioButton("单选按钮组件1_男"); JRadioButton jrb2 = new JRadioButton("单选按钮组件2_女"); ButtonGroup bg = new ButtonGroup(); bg.add(jrb1); bg.add(jrb2); jp.add(jrb1); jp.add(jrb2); //复选组件框 JCheckBox jcb1 = new JCheckBox("音乐",false); JCheckBox jcb2 = new JCheckBox("视频",false); JCheckBox jcb3 = new JCheckBox("游戏",false); JCheckBox jcb4 = new JCheckBox("网课",true); jp.add(jcb1); jp.add(jcb2); jp.add(jcb3); jp.add(jcb4); //下拉列表 String[] item = {"--请选择你的学历--","高中","专科","本科","研究生"}; JComboBox jcbb = new JComboBox(item); jcbb.addItem("博士"); //与在数组中添加列表相同 jp.add(jcbb); //菜单 JMenuBar jmb = new JMenuBar(); //菜单条 JMenu jm1 = new JMenu("菜单1"); //菜单 JMenu jm2 = new JMenu("菜单2"); //菜单 JMenuItem jmi1 = new JMenuItem("二级菜单1"); //菜单项 JMenuItem jmi2 = new JMenuItem("二级菜单2"); //菜单项 JMenuItem jmi3 = new JMenuItem("二级菜单3"); //菜单项 jm1.add(jmi3); //给菜单1添加菜单项 jm2.add(jmi1); //给菜单2添加菜单项 jm2.add(jmi2); jmb.add(jm1); //将菜单添加进菜单条 jmb.add(jm2); jp.add(jmb); //文本组件 JTextField jtf = new JTextField("请输入账号",20); jp.add(jtf); //密码框组件 JPasswordField jpw = new JPasswordField("请输入密码",20); jpw.setEchoChar('*'); jp.add(jpw); //文本域组件 JTextArea jta = new JTextArea("请输入文字",10,10); jta.setLineWrap(true); jp.add(jta); jf.setVisible(true); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/129446.html

(0)
上一篇 2025-08-24 14:00
下一篇 2025-08-24 14:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信