当前位置:网站首页>Detailed explanation of common APIs for component and container containers: frame, panel, scrollpane
Detailed explanation of common APIs for component and container containers: frame, panel, scrollpane
2022-07-04 05:53:00 【Gentle ~】
Recommended reading :Java Detailed explanation of graphical interface (AWT、Swing) special column
List of articles
Container Inheritance system
1.Window
It is a top-level window that can exist independently , By default BorderLayout
Manage its internal component layout ;
2.Panel
Can accommodate other components , But it can't exist independently , It must be embedded in other containers for use , By default FlowLayout
Manage its internal component layout ;
3. ScrollPane
yes A container with scroll bars , Nor can it exist independently , By default BorderLayout
Manage its internal component layout ;
Commonly used API
Component
As the base class , The following common methods are provided to set the size of components 、 Location 、 Visibility, etc .
Method signature | Method function |
---|---|
setLocation(int x, int y) | Set the location of the component |
setSize(int width, int height) | Set the size of the component |
setBounds(int x, int y, int width, int height) | At the same time, set the position of the components 、 size |
setVisible(Boolean b) | Set the visibility of the component |
Container
As the root class of the container , The following methods are provided to access the components in the container .
Method signature | Method function |
---|---|
Component add(Component comp) | Add other components to the container ( This component can be either a normal component , It can also be a container ) , And return the added component |
Component getComponentAt(int x, int y) | Returns the component of the specified point |
int getComponentCount() | Returns the number of components in the container |
Component[] getComponents() | Return all components in the container |
Container demonstration
window
import java.awt.*;
public class FrameDemo {
public static void main(String[] args) {
//1. Create window objects
Frame frame = new Frame(" This is the first window container ");
// Set the position and size of the window
frame.setBounds(100,100,500,300);
// Set window visible
frame.setVisible(true);
}
}
Panel
because IDEA By default utf-8 Encoding , But at present, the code we execute is windows On the system , and windows The default encoding for the operating system is gbk, So it's messy , If there's a garbled code , Then just before running the current code , Set up a jvm Parameters -Dfile.encoding=gbk
that will do .
public class PanelDemo {
public static void main(String[] args) {
//1. establish Frame Container object
Frame frame = new Frame(" Here we are testing Panel");
//2. establish Panel Container object
Panel panel = new Panel();
//3. Go to Panel Add components to the container
panel.add(new TextField(" This is a test text "));
panel.add(new Button(" This is a test button "));
//4. hold Panel Add to Frame in
frame.add(panel);
//5. Set up Frame Location and size of
frame.setBounds(30,30,500,300);
//6. Set up Frame so
frame.setVisible(true);
}
}
ScrollPane
The program is clearly directed to ScrollPane Added... To the container A text box and a button , But you can only see A button , But I can't see the text box , Why is that Well ? This is because ScrollPane
Use BorderLayout
Layout manager , and BorderLayout
As a result, only one component in the container is displayed .
import java.awt.*;
public class ScrollPaneDemo {
public static void main(String[] args) {
//1. establish Frame Window object
Frame frame = new Frame(" Test here ScrollPane");
//2. establish ScrollPane object , And specify that there is a scroll bar by default
ScrollPane scrollPane = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);
//3. Go to ScrollPane Add components to
scrollPane.add(new TextField(" This is the test text "));
scrollPane.add(new Button(" This is the test button "));
//4. hold ScrollPane Add to Frame in
frame.add(scrollPane);
//5. Set up Frame The location and size of
frame.setBounds(30,30,500,300);
//6. Set up Frame so
frame.setVisible(true);
}
}
Recommended reading :Java Detailed explanation of graphical interface (AWT、Swing) special column
边栏推荐
- 509. 斐波那契数、爬楼梯所有路径、爬楼梯最小花费
- [Chongqing Guangdong education] electronic circuit homework question bank of RTVU secondary school
- Win10 clear quick access - leave no trace
- el-select如何实现懒加载(带搜索功能)
- A little understanding of GSLB (global server load balance) technology
- [Excel] 数据透视图
- left_and_right_net正常版本
- Canoe panel learning video
- 光模塊字母含義及參數簡稱大全
- Supplement the JS of a video website to decrypt the video
猜你喜欢
How to configure static IP for Kali virtual machine
js arguments参数使用和详解
如何避免 JVM 内存泄漏?
webrtc 快速搭建 视频通话 视频会议
卸载Google Drive 硬盘-必须退出程序才能卸载
gslb(global server load balance)技术的一点理解
C # character similarity comparison general class
Configure cross compilation tool chain and environment variables
JS flattened array of number shape structure
每周小结(*63):关于正能量
随机推荐
Qt发布多语言国际化翻译
The difference between PX EM rem
谷歌 Chrome 浏览器将支持选取文字翻译功能
1480. 一维数组的动态和
Zhanrui tankbang | jointly build, cooperate and win-win zhanrui core ecology
Win10 clear quick access - leave no trace
How to expand all collapse panels
left_ and_ right_ Net interpretable design
LC weekly 300
Review | categories and mechanisms of action of covid-19 neutralizing antibodies and small molecule drugs
Understanding of cross domain and how to solve cross domain problems
FRP intranet penetration, reverse proxy
FreeRTOS 中 RISC-V-Qemu-virt_GCC 的 锁机制 分析
Actual cases and optimization solutions of cloud native architecture
注释与注解
【雕爷学编程】Arduino动手做(105)---压电陶瓷振动模块
Principle and practice of common defects in RSA encryption application
C语言中的函数(详解)
QT 获取随机颜色值设置label背景色 代码
js arguments参数使用和详解