首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java编程之GUI教程 JPanel面板和JScrollPane

与顶层容器不同的是,面板不能独立存在,必须被添加到其他容器内部。在进行界面设计时,通常将用户界面划分成若干个区域,每个区域用一个面板。这样处理的好处是:将窗口内容结构化,有利于管理、更换、调试。...例12-3运行结果 图12.5中,运行程序结果,先创建了JFrame窗体,然后设置布局,创建一个容器JPanel,最后将中间容器添加进JFrame窗体。...如果需要在JScrollPane面板中放置多个组件,需要先将多个组件放置在JPanel面板容器上,然后将JPanel面板作为一个整体组件添加到JScrollPane面板中。...JScrollPane的使用,如例12-4所示。...例12-4运行结果 案例12-4中,在JTextArea文本区域组件不断输入内容回车,当内容超出滚动面板宽度和高度的时候,JScrollPane会出现横向和纵向滚动条。

16610

AWT的Container容器

Window默认使用BorderLayout来管理其内部组件的布局。 不可独立存在的容器,如Panel类和ScrollPane类。这些容器不能独立存在,必须内嵌在其他容器中使用。...而ScrollPane是一个带滚动条的容器,它也不能独立存在,默认使用BorderLayout来管理其内部组件布局。...面板容器(Panel) 面板是一种特殊的容器,没有边框,不能独立存在和显示,必须作为组件添加到其他容器中:与窗体容器的特性不同。它的功能就是利用既是组件又是容器的特点,对其他组件进行分组放置。...在AWT中,通过 Panel 类实例化面板对象。调用面板对象的 add()方法将有关联的组件添加到面板上,实现组件的分组;然后,该面板对象作为其他容器对象的 add()方法的参数,放置到其他容器中。...ScrollPane.SCROLLBARS_ALWAYS表示始终显示垂直和水平滚动条,即使内容没有溢出。

11810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    超详细的Java容器、面板及四大布局管理器应用讲解!

    之前在进行Java的窗体开发时经常会把容器、面板与布局管理混淆,从而不能正确的使用这三种属性对窗体应用进行布局。所以今天在这里记录一下Java窗体中容器、面板及常见的四大布局管理器的用法。...面板 在JPanel面板中我们可以添加一些组件来对该面板中的内容进行布局,之所以它具备这样的功能,是因为JPanel面板同样也继承了java.awt.Container类,因此它同样是具有Container...JScrollPane面板,原因是因为JScrollPane面板是自带滚动条的,并且同时它也是一种容器,这也是在做相关开发时我们设置滚动条常用的一种方法。...、南、西、北、中五个区域,在容器中添加组件时,我们可以设置组将放入到哪一个区域中,关于区域的控制可以使用BorderLayout类中的成员方法来确定,关于这些成员变量的具体含义可以参考下表: 成员变量...含义 BorderLayout.NORTH 在容器中添加组件时,组件置于顶端 BorderLayout.SOUTH 在容器中添加组件时,组件置于底端 BorderLayout.EAST 在容器中添加组件时

    2.9K10

    JAVA入门学习十二

    BorderLayout(边界布局管理器) 东,南,西,北,中,Frame默认的布局管理器。 //边界布局勾画出一个集装箱,安排和调整其成分放在五个区域:北,南,东,西,和中心。...事件处理: 事件: 用户的一个操作 事件源: 被操作的组件 监听器: 一个自定义类的对象, 实现了监听器接口, 包含事件处理方法,把监听器添加在事件源上, 当事件发生的时候虚拟机就会自动调用监听器中的事件处理方法...//成员变量 SCROLLBARS_HORIZONTAL_ONLY //创建和显示水平滚动条只。 SCROLLBARS_VERTICAL_ONLY //创建和显示垂直滚动条只。...TextArea("Hello", 5, 40); //默认显示Hello字符串然后5行10列 ta.getText(); ta.setText("覆盖原来的字符"); ta.append("追加字符串到文本编辑框中...物理字体包含字形数据和表格图从字符序列符号序列的实际字体库,使用字体技术如TrueType和PostScript Type 1,所有的java平台实现必须支持TrueType字体;其他字体技术支持是依赖于实现的

    1.1K10

    JAVA入门学习十二

    BorderLayout(边界布局管理器) 东,南,西,北,中,Frame默认的布局管理器。 //边界布局勾画出一个集装箱,安排和调整其成分放在五个区域:北,南,东,西,和中心。...事件处理: 事件: 用户的一个操作 事件源: 被操作的组件 监听器: 一个自定义类的对象, 实现了监听器接口, 包含事件处理方法,把监听器添加在事件源上, 当事件发生的时候虚拟机就会自动调用监听器中的事件处理方法...//成员变量 SCROLLBARS_HORIZONTAL_ONLY //创建和显示水平滚动条只。 SCROLLBARS_VERTICAL_ONLY //创建和显示垂直滚动条只。...TextArea("Hello", 5, 40); //默认显示Hello字符串然后5行10列 ta.getText(); ta.setText("覆盖原来的字符"); ta.append("追加字符串到文本编辑框中...物理字体包含字形数据和表格图从字符序列符号序列的实际字体库,使用字体技术如TrueType和PostScript Type 1,所有的java平台实现必须支持TrueType字体;其他字体技术支持是依赖于实现的

    1.1K10

    Java Swing花样玩法:教你用代码制作六一儿童节的精美贺卡(简单版)

    Javaswing的历史可以追溯到1995年,当时Java刚刚诞生,它的图形用户界面技术是基于AWT(Abstract Window Toolkit)的。...Swing最初是作为一个可选的扩展包提供的,后来在1998年被集成到了Java 2平台中,并成为了Java标准图形用户界面技术。...布局是指Swing组件在容器中的排列方式,如水平对齐、垂直对齐等,它们都实现了java.awt.LayoutManager接口,并提供了一些常用的布局管理器,如流式布局、网格布局等。...第二个例子是一个简单的文本编辑器程序,它使用了Swing的文本区域、菜单、工具栏和滚动条等组件,以及拖放、撤销/重做和打印等功能,实现了基本的文本编辑功能。...sendFlowerCard(); } }); buttonPanel.add(sendButton); // 添加面板到主窗口

    18410

    java swing开发窗体程序开发(一)GUI编程

    add到这个窗体中,才会显示 /** * 展示java swing中的常见组件 */ public class UserInputForm extends JFrame{...而是添加到中间层容器。当然,这个中间层容器也必须添加到底层容器JFrame中才会启作用。否则显示不出来 即必须有一个类继承至JFrame,且这个类将面板或是布局,add进去。...然后实例化这个继承至JFrame的类,才看的到。 1:JPanel面板:常用JPanel作为一个面板,最普通的面板,向该面板中添加组件。...默认布局是FlowLayout 2:JTabbedPane可切换选项卡面板:特点,向该面板中添加组件时,会可以为这个组件添加选项卡。...setLayout(new BorderLayout()); //将这个选项卡面板添加入该MixedForm的中区域 add(tabbedPane,BorderLayout.CENTER

    3K30

    UDP协议支持广播发送数据_tcp协议建立连接的过程

    之前和大家分享了使用TCP协议进行网络通信的过程,想了解的小伙伴可以看我的这篇文章《Java利用TCP协议实现客户端与服务器通信》,今天来和大家分享一下在Java网络编程开发中,使用UDP协议进行网络通信...upJPanel.add(startReceive); upJPanel.add(stopReceive); add(upJPanel, BorderLayout.NORTH); //将放置按钮的面板添加到窗体中...,并且放置在窗体的上部 thread = new Thread(this); //构造函数中建立线程 startReceive.addActionListener(this); //为开始接收按钮添加监听...textJPanel.add(stopTestArea); //将接收信息的文本框添加到面板 final JScrollPane scrollPane = new JScrollPane...stopTestArea); //为文本框添加滚动条 add(textJPanel, BorderLayout.CENTER); //将放置文本框的面板添加到窗体 并置于中间部分 setBounds

    1.7K10

    Java利用UDP协议建立广播组通信【附通信源码】

    之前和大家分享了使用TCP协议进行网络通信的过程,想了解的小伙伴可以看我的这篇文章《Java利用TCP协议实现客户端与服务器通信》,今天来和大家分享一下在Java网络编程开发中,使用UDP协议进行网络通信...upJPanel.add(startReceive); upJPanel.add(stopReceive); add(upJPanel, BorderLayout.NORTH); //将放置按钮的面板添加到窗体中...,并且放置在窗体的上部 thread = new Thread(this); //构造函数中建立线程 startReceive.addActionListener(this); //为开始接收按钮添加监听...textJPanel.add(stopTestArea); //将接收信息的文本框添加到面板 final JScrollPane scrollPane = new JScrollPane...stopTestArea); //为文本框添加滚动条 add(textJPanel, BorderLayout.CENTER); //将放置文本框的面板添加到窗体 并置于中间部分 setBounds

    1.6K30

    java swing图形化界面_javagui界面设计

    常用的中间容器(面板): # 组件 描述 1 JPanel 一般轻量级面板容器组件 2 JScrollPane 带滚动条的,可以水平和垂直滚动的面板组件 3 JSplitPane 分隔面板 4 JTabbedPane...布局管理器 把 Swing 的各种组件(JComponent)添加到面板容器中(JPanel),需要给面板容器指定布局管理器(LayoutManager),明确容器(Container)内的各个组件之间的排列布局方式...7 BorderLayout 边界布局,把Container按方位分为 5 个区域(东、西、南、北、中),每个区域放置一个组件。...创建一个基本组件(按钮),并添加到 面板容器 中 JButton btn = new JButton("测试按钮"); panel.add(btn); // 4....把 面板容器 作为窗口的内容面板 设置到 窗口 jf.setContentPane(panel); // 5.

    1.7K50

    深入Java Swing用户界面组件布局管理器:网格布局+面板+边界布局

    可以通过指定BorderLayout类中的CENTER、NORTH、SOUTH、EAST和WEST常量添加组件。并没有要求所有的位置都要占满。如果不提供任何值,系统默认为CENTER。...例如,在图9-10中,屏幕底部的三个按钮包含在一个面板中。这个面板被放置到内容窗格的南部。 假设希望显示如图9-10所示的外观,添加一个存放三个按钮的面板。...首先创建一个新的JPanel的对象,然后往面板中添加单个按钮。面板的默认布局管理器是FlowLayout,这符合我们的需求。最后使用add方法将每个按钮添加到面板中。...由于把按钮添加到面板中且没有改变默认的布局管理器,所以每个按钮的位置和大小都由FlowLayout管理器所控制。这意味着这些按钮将显示在面板中央并且不会扩展至填充整个面板区域。...这是一个规则的计算器,而不是在Java指南中的那种奇怪的计算器。在这个程序中,添加组件到框架之后,调用pack方法。这个方法用于将所有组件以最佳的高度和宽度显示在框架中。

    3.7K30

    随机抽奖小程序_在线随机抽号小程序

    单击”抽奖”按钮时,线程对象停止运行,并且将准确的中奖号码显示在信息文本框中。 开发一个抽奖小工具的实例。 (1)自定义文本框组件,把5个生成随机数的文本框的公共属性抽象定义到该文本框。...(10); contentPanel.setLayout(borderLayout); //设置内容面板布局管理器 getContentPane().add(contentPanel); //添加内容面板到窗体...final JPanel numPanel = new JPanel(); //创建显示随机数的面板 contentPanel.add(numPanel); //添加随机数面板到内容面板 final.../设置面板布局管理器 contentPanel.add(infoPanel, BorderLayout.SOUTH); //添加面板到窗体 final JLabel label_1 = new JLabel...getContentPane().add(controlPanel, BorderLayout.SOUTH); //添加面板到窗体底部 final JButton startButton = new

    3.1K20

    曾经做过的40道程序设计课后习题总结(四)

    MainPanel.add(yearMonthPanel, BorderLayout.NORTH);// 添加年月面板到日历面板的南面(最上方) yearMonthPanel.setLayout..., BorderLayout.WEST);// 年份面板添加到年月面板西部(左边) yearPanel.setLayout(new BorderLayout());// 设置年份面板为边布局并添加年份标签和组合框...添加月份面板到年月面板的东面(右面) monthPanel.setLayout(new BorderLayout());// 月份面板设为边布局方式 monthPanel.add(monthsLabel...;// 添加标题文本显示面板到年月面板中间 txetPanel.add(textLabel, BorderLayout.CENTER);// 添加标题文本标签到面板 // -----------...MainPanel.add(InfoPanel, BorderLayout.SOUTH);// 添加个人信息显示面板到日历面板南方(下方) InfoPanel.add(InfoLabel);/

    1.7K90
    领券