当前位置:网站首页>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
边栏推荐
- Solar insect killing system based on single chip microcomputer
- Leetcode 184 Employees with the highest wages in the Department (July 3, 2022)
- [Chongqing Guangdong education] electronic circuit homework question bank of RTVU secondary school
- Wechat applet +php realizes authorized login
- 如何展开Collapse 的所有折叠面板
- How to implement lazy loading in El select (with search function)
- 如何获取el-tree中所有节点的父节点
- How to configure static IP for Kali virtual machine
- Risc-v-qemu-virt in FreeRTOS_ Lock mechanism analysis of GCC
- BUU-Crypto-[GXYCTF2019]CheckIn
猜你喜欢
AWT介绍
What are the reasons for the frequent high CPU of ECS?
Input displays the currently selected picture
Leakage detection relay jy82-2p
Programmers don't talk about morality, and use multithreading for Heisi's girlfriend
接地继电器DD-1/60
Online shrimp music will be closed in January next year. Netizens call No
Configure cross compilation tool chain and environment variables
509. Fibonacci number, all paths of climbing stairs, minimum cost of climbing stairs
Leetcode question brushing record | 206_ Reverse linked list
随机推荐
剑指 Offer II 038. 每日温度
APScheduler如何设置任务不并发(即第一个任务执行完再执行下一个)?
Tf/pytorch/cafe-cv/nlp/ audio - practical demonstration of full ecosystem CPU deployment - Intel openvino tool suite course summary (Part 2)
注释与注解
left_ and_ right_ Net normal version
Kubernets first meeting
Take you to quickly learn how to use qsort and simulate qsort
How to get the parent node of all nodes in El tree
【无标题】
left_ and_ right_ Net interpretable design
Design and implementation of tcp/ip series overview
Letter meaning and parameter abbreviation of optical module Daquan
BUU-Crypto-[GXYCTF2019]CheckIn
十二. golang其他
[Chongqing Guangdong education] electronic circuit homework question bank of RTVU secondary school
JS flattened array of number shape structure
How to implement lazy loading in El select (with search function)
JS get the attribute values nested in the object
509. Fibonacci number, all paths of climbing stairs, minimum cost of climbing stairs
Supplement the JS of a video website to decrypt the video