学习目标:
- 一个月掌握 Java 入门知识
学习内容:
- 常用面板——JPanel
- 常用面板——JScrollPane
- 文本组件——文本框
- 文本组件——密码框
- 文本组件——文字域
1. 常用面板——JPanel
可以添加组件并将组件组合到一起,但需将自身添加到别的容器中使用。无边框、不可移动与缩放、关闭。
package com.oy;
import javax.swing.*;
import java.awt.*;
/**
* @author Vinyoo
* @date 2025/2/11 9:57
* 知识点:JPanle面板
*/
public class TestJPanel {
public static void main(String[] args)
{
JFrame jFrame = new JFrame("JFrame窗体");
jFrame.setLayout(new GridLayout(2,2,10,10));//网格布局管理器,两行两列,水平垂直间距10
//创建四个JPanel面板,使用的是GridLayout布局管理器
JPanel jPanel1 = new JPanel(new GridLayout(2,1,10,10));
JPanel jPanel2 = new JPanel(new GridLayout(2,1,10,10));
JPanel jPanel3 = new JPanel(new GridLayout(2,1,10,10));
JPanel jPanel4 = new JPanel(new GridLayout(2,1,10,10));
//四个面板中添加四个按钮
jPanel1.add(new JButton("JPanle1的按钮"));
jPanel2.add(new JButton("JPanle2的按钮"));
jPanel3.add(new JButton("JPanle3的按钮"));
jPanel4.add(new JButton("JPanle4的按钮"));
//将四个面板添加到JFrame窗体
jFrame.add(jPanel1);
jFrame.add(jPanel2);
jFrame.add(jPanel3);
jFrame.add(jPanel4);
jFrame.setSize(500,400);
jFrame.setVisible(true);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
2. 常用面板——JScrollPane
这是一个带滚动条的面板容器,其中只能放置一个组件,且不能使用布局管理器。如果需要在其中放置多个组件,则需要将多个组件放置在JPanel面板容器上,再将JPanel面板作为一个整体组件添加到JScrollPane面板中。
import javax.swing.*;
/**
* @author Vinyoo
* @date 2025/2/11 10:12
* 知识点:JScrollPane
*/
public class TestJScrollPane {
public static void main(String[] args)
{
JFrame jFrame = new JFrame("这是一个JFrame窗体");
//创建文本域组件
JTextArea jTextArea = new JTextArea(20,50);
jTextArea.setText("带滚动条的文字编辑器");
//创建一个显示指定内容的JScrollPane,只要组件的内容超过视图大小,就会显示水平和垂直滚动条
JScrollPane jScrollPane = new JScrollPane(jTextArea);
//将JScrollPane面板添加到JFrame窗体中
jFrame.add(jScrollPane);
jFrame.setSize(500,300);
jFrame.setVisible(true);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
3. 文本组件——文本框
下面这个例子包含了构造文本框、添加按钮、使用按钮事件监听器。
package com.oy;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* @author Vinyoo
* @date 2025/2/11 10:26
* 知识点:文本框
*/
public class TestJTextField {
public static void main(String[] args)
{
JFrame jFrame = new JFrame("这是一个JFrame窗体");
final JTextField jTextField = new JTextField("这是一个文本框",15);
jFrame.add(jTextField);
//添加一个清空按钮
JButton jButton = new JButton("清空");
//事件监听器:产生一个动作事件(在此处,点击“清空”按钮,就会清空文本框内内容,光标还在文本框内
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jTextField.setText(""); //清空文本框内容(原本文本框内容为“这是一个文本框”)
jTextField.requestFocus();//回到文本框焦点,若不加改行,则光标会消失,需自行点击文本框后再添加内容
}
});
jFrame.add(jButton);
jFrame.setLayout(new FlowLayout());//使用流式布局管理器
jFrame.setSize(500,300);
jFrame.setVisible(true);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
4. 文本组件——密码框
下面这个例子包含了构造密码框、设置回显字符、添加按钮、使用按钮事件监听器。
package com.oy;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* @author Vinyoo
* @date 2025/2/11 10:44
* 知识点:密码框
*/
public class TestPasswordField {
public static void main(String[] args)
{
JFrame jFrame = new JFrame("这是一个JFrame窗体");
//密码框内指定文本和列初始化
final JPasswordField jPasswordField = new JPasswordField("123456789",15);
//为密码输入框设置回显字符。回显字符被设置为*。输入密码时显示的是*号。
jPasswordField.setEchoChar('*');
jFrame.add(jPasswordField);
JButton jButton = new JButton("清空");
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jPasswordField.setText("");
jPasswordField.requestFocus();
}
});
jFrame.add(jButton);
jFrame.setLayout(new FlowLayout());
jFrame.setSize(500,300);
jFrame.setVisible(true);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
5. 文本组件——文字域
文字域的使用在“常用面板——JScrollPane”有体现。
设置文本域:new JTextArea(“文本域”,6,6);
设置文本域大小:jTextArea.setSize( , );
设置自动换行:jTextArea.setLineWrap(true);
代码部分注释写的很详细哦!试着练习一下吧!