当前位置:网站首页>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
边栏推荐
- Canoe panel learning video
- 配置交叉编译工具链和环境变量
- Experience weekly report no. 102 (July 4, 2022)
- How to configure static IP for Kali virtual machine
- 1480. 一维数组的动态和
- 如何避免 JVM 内存泄漏?
- 1.1 history of Statistics
- Understanding of cross domain and how to solve cross domain problems
- APScheduler如何设置任务不并发(即第一个任务执行完再执行下一个)?
- 谷歌 Chrome 浏览器将支持选取文字翻译功能
猜你喜欢
[QT] create mycombobox click event
Uninstall Google drive hard drive - you must exit the program to uninstall
VB. Net simple processing pictures, black and white (class library - 7)
input显示当前选择的图片
AWT常用组件、FileDialog文件选择框
High performance parallel programming and optimization | lesson 02 homework at home
BUU-Crypto-[GXYCTF2019]CheckIn
Solar insect killing system based on single chip microcomputer
Halcon image calibration enables subsequent image processing to become the same as the template image
Introduction to AMBA
随机推荐
Luogu deep foundation part 1 Introduction to language Chapter 5 array and data batch storage
left_and_right_net可解释性设计
px em rem的区别
[QT] create mycombobox click event
Take you to quickly learn how to use qsort and simulate qsort
How to solve the component conflicts caused by scrollbars in GridView
Online shrimp music will be closed in January next year. Netizens call No
Grounding relay dd-1/60
gslb(global server load balance)技术的一点理解
Recommended system 1 --- framework
BUU-Pwn-test_ your_ nc
Detectron:训练自己的数据集——将自己的数据格式转换成COCO格式
input显示当前选择的图片
Viewing and using binary log of MySQL
LC周赛300
70000 words of detailed explanation of the whole process of pad openvino [CPU] - from environment configuration to model deployment
The end of the Internet is rural revitalization
检漏继电器JY82-2P
JS get the attribute values nested in the object
How much computing power does transformer have