java程序设计——实验四

简介: 在Jframe中添加标签、按钮并使用网格布局 程序功能:在Jframe框架中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。显示结果如图所示。3. 在面板中添加组件(1) 程序功能:在Jframe中添加面板容器,并分别在Jframe、面板容器中添加组件并使用不同的布局管理方式。(2) 编写2.java 程序文件,显示结果如图所示。要求设置最底层的JFrmae容器为顺序布局,Jframe框架中直接添加一个标签,同时在Panel1中以边界布局添加四个方向按钮和一个标签.Panel2中以网


《Java程序设计》实 验 报 告(四)

实验名称:java编程基础

实验地点10-306

所使用的工具软件及环境:

JDK1.7或1.8与Eclipse

一、实验目的:

    1. 了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,
    2. 了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。

二、实验内容:

图形用户界面(Graphic User Interface ,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。组件(Component)是构成GUI 的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。通过容器的add 方法把组件加入到容器中。

1.学习Java布局管理,通过实例掌握流布局器,网格布局器和边界布局器.

  参见8.4 布局管理器例题.

2. 在Jframe中添加标签、按钮并使用网格布局

 程序功能:在Jframe框架中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。显示结果如图所示。

编辑

三、源代码

//GridLayoutFrameDemo.java

package 实验4;

import javax.swing.*;

import java.awt.*;

public class GridLayoutFrameDemo {

       public static void main(String[] args) {

              GridLayoutFrame g=new GridLayoutFrame();

              g.setVisible(true);

       }

}

class GridLayoutFrame extends JFrame{

       GridLayoutFrame(){

              setTitle("标签与按钮");

              setSize(300,200);//设置框架大小

              setLocation(300,200);//设置框架在屏幕上的显示位置

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

              setLayout(new GridLayout(3,3));//设置框架使用33列的网格布局器

              add(new JLabel("标签1"));

              for(int i=1;i<=3;i++)

                     add(new JButton("按钮"+i));

              add(new JLabel());

              for(int i=4;i<=6;i++)

                     add(new JButton("按钮"+i));

              add(new JLabel("标签2"));

       }

}

四、实验结果测试、收获与体会:

编辑

学习了Java布局管理,通过实例掌握了网格布局器和边界布局器。同时也学习到在Jframe中添加标签、按钮并使用网格布局。对图形用户界面有了进一步的学习与收获。

实验名称:java编程基础

实验地点10-306

所使用的工具软件及环境:

JDK1.7或1.8与Eclipse

  • 实验目的:

1.了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,

2.了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。

二、实验内容:

3. 在面板中添加组件

(1) 程序功能:在Jframe中添加面板容器,并分别在Jframe、面板容器中添加组件并使用不同的布局管理方式。

(2) 编写2.java 程序文件,显示结果如图所示。要求设置最底层的JFrmae容器为顺序布局,Jframe框架中直接添加一个标签,同时在Panel1中以边界布局添加四个方向按钮和一个标签.Panel2中以网格布局添加一个标签一个按钮。

编辑

三、源代码

//LayoutFrameDemo2.java

package 实验4;

import javax.swing.*;

import java.awt.*;

public class LayoutFrameDemo2 {

       public static void main(String[] args) {

              LayoutFrame g=new LayoutFrame();

              g.setVisible(true);

       }

}

class LayoutFrame extends JFrame{

       LayoutFrame(){

              setTitle("标签与按钮");

              setSize(400,400);//设置框架大小

              setLocation(300,200);//设置框架在屏幕上的显示位置

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

              setLayout(new GridLayout(4,1));//设置框架使用41列的网格布局器

              add(new JLabel("这是最底层的JFrame中的标签",SwingConstants.CENTER));

              JPanel panel1=new JPanel();

              panel1.setBackground(Color.blue);

              panel1.setLayout(new BorderLayout());

              panel1.add(BorderLayout.EAST,new JButton(""));

              panel1.add(BorderLayout.WEST,new JButton("西"));

              panel1.add(BorderLayout.SOUTH,new JButton(""));

              panel1.add(BorderLayout.NORTH,new JButton(""));

              panel1.add(BorderLayout.CENTER,new JLabel("这是在Panel1面板中部添加的标签",JLabel.CENTER));

              add(panel1);

              JPanel panel2=new JPanel();

              panel2.setBackground(Color.green);

              panel2.setLayout(new GridLayout(2,1));

              panel2.add(new JLabel("这是在Panel2面板中的标签",JLabel.CENTER));

              panel2.add(new JButton("Panel2中的按钮"));

              add(panel2);

       }

}

四、实验结果测试、收获与体会:

编辑 

学习了在Jframe中添加面板容器,并分别在Jframe、面板容器中添加组件并使用不同的布局管理方式。进一步学习了面板容器和Jframe的使用,对图形用户界面的编程有了进一步的提升。

实验名称:java编程基础

实验地点10-306

所使用的工具软件及环境:

JDK1.7或1.8与Eclipse

一、实验目的:

1.了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,

2.了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。

二、实验内容:

二.了解事件处理机制

在图形用户界面中,程序和用户的交互是通过组件响应各种事件来实现的。例如,用户单击了一个按钮,意味着发生了按钮的单击事件;选中下拉框中的一个选项,意味着发生了一个选项事件。在Java 中能产生事件的组件叫做事件源,如按钮。如果希望对单击按钮事件进行处理,可给事件源(按钮)注册一个事件监听器(如包含按钮的容器),如同签订了一个委托合同,当事件源发生事件时,事件监听器就代替事件源对发生的事件进行处理,这就是所谓的委托事件处理机制。

在窗口中添加组件

(1)程序功能:在窗口中添加组件。

(2)编写程序文件,响应按钮事件,当按下显示按钮时,文本框1中显示此时用户名和电话,文本框2显示“你按下了“显示”按钮”。当按下退出时,程序关闭。

(3)编译并运行程序,界面窗口如图所示。

编辑

思考题:只要用户名和电话文本框中的文本内容发生改变,就在文本框1中显示变化的内容。如何实时动态监听文本变化?tf1.addActionListener();可以实现么?如果不能,该如何实现?

实现文本变化事件监听。

提示:

        Document dt = tf1.getDocument();

        dt.addDocumentListener(new DocumentListener(){                 

            public void insertUpdate(DocumentEvent e) {

                                     

            }         

            public void removeUpdate(DocumentEvent e) {

                  

            }           

            public void changedUpdate(DocumentEvent e) {

                  

            }            

        });

三、源代码

//TextFrameDemo.java

package实验4;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

publicclass TextFrameDemo {

    publicstaticvoid main(String[] args) {

        TextFrame g=new TextFrame();

        g.setVisible(true);

    }

}

classTextFrameextendsJFrame{

    private JTextArea ta;

    private JTextField name;

    private JTextField phone;

    private JTextField show;

    private JButton a,b;

    TextFrame(){

        setTitle("文本框显示");

        setBounds(200,300,370,280);

        setLayout(new FlowLayout());

        ta=new JTextArea(7,30);

        add(ta);

        name=new JTextField(10);

        add(new JLabel("用户名"));

        add(name);

        phone=new JTextField(10);

        add(new JLabel("电话"));

        add(phone);

        show=new JTextField(15);

        add(show);

        a=new JButton("显示");

        a.addActionListener(new ActionListener(){

            publicvoid actionPerformed(ActionEvent e) {

                ta.setText("用户名:"+name.getText()+"\n"+"电话:"+phone.getText());

                show.setText("你按下了显示按钮");

            }

        });

        add(a);

        b=new JButton("退出");

        b.addActionListener(new ActionListener(){

            publicvoid actionPerformed(ActionEvent e) {

                dispose();

            }

        });

        add(b);

    }

}

四、实验结果测试、收获与体会:

    编辑

从该实验中学习到了swing基本组件的使用,对文本框和文本域以及标签、按钮有了深度的学习,并且对java事件处理中的委托事件模型进行学习,对按钮的处理也有了进一步的提升。

相关文章
|
4月前
|
Java 测试技术 开发者
💡Java 零基础:彻底掌握 for 循环,打造高效程序设计
【10月更文挑战第15天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
146 63
|
4月前
|
算法 搜索推荐 Java
java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
这篇文章介绍了如何使用Java后端技术,结合Graphics2D和Echarts等工具,生成包含个性化信息和图表的海报,并提供了详细的代码实现和GitHub项目链接。
224 0
java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
|
6月前
|
消息中间件 Java Kafka
【Azure 事件中心】在微软云中国区 (Mooncake) 上实验以Apache Kafka协议方式发送/接受Event Hubs消息 (Java版)
【Azure 事件中心】在微软云中国区 (Mooncake) 上实验以Apache Kafka协议方式发送/接受Event Hubs消息 (Java版)
151 1
|
6月前
|
数据采集 人工智能 监控
【Azure 应用程序见解】Application Insights Java Agent 3.1.0的使用实验,通过修改单个URL的采样率来减少请求及依赖项的数据采集
【Azure 应用程序见解】Application Insights Java Agent 3.1.0的使用实验,通过修改单个URL的采样率来减少请求及依赖项的数据采集
|
8月前
|
存储 小程序 前端开发
java毕设项目|宿舍管理系统小程序设计与实现
java毕设项目|宿舍管理系统小程序设计与实现
|
8月前
|
监控 Java API
Java 程序设计 第八章 线程
Java 程序设计 第八章 线程
|
8月前
|
Java 编译器 C语言
Java 程序设计 第2章 Java基本语法 笔记
Java 程序设计 第2章 Java基本语法 笔记
|
8月前
|
Java
Java 程序设计 第七章 文件管理与输入/输出 笔记
Java 程序设计 第七章 文件管理与输入/输出 笔记
|
8月前
|
Java Android开发
Java 程序设计 第6章 异常与断言 笔记
Java 程序设计 第6章 异常与断言 笔记
|
8月前
|
Java 编译器
Java 程序设计 第4章 继承 笔记
Java 程序设计 第4章 继承 笔记

热门文章

最新文章