版权声明:博客知识产权来源命运的信徒,切勿侵权 https://blog.csdn.net/qq_37591637/article/details/86535510
标签
是一种可以包含文本和图片的非交互组件,其文本可以是单行文本,也可以是 HTML 文本。对于只包含文本的标签可以使用 JLabel 类,该类的主要构造方法有如下几种形式。
- JLabel():创建无图像并且标题为空字符串的 JLabel。
- JLabel(Icon image):创建具有指定图像的 JLabel。
- JLabel(String text):创建具有指定文本的 JLabel。
- JLabel(String textjcon image,int horizontalAlignment):创建具有指定文本、图像和水平对齐方式的 JLabel,horizontalAlignment 的取值有 3 个,即 JLabel.LEFT、JLabel.RIGHT 和 JLabel.CENTER。
JLabel 的常用方法如表 1 所示。
方法名称 | 说明 |
---|---|
void setText(Stxing text) | 定义 JLabel 将要显示的单行文本 |
void setIcon(Icon image) | 定义 JLabel 将要显示的图标 |
void setIconTextGap(int iconTextGap) | 如果 JLabel 同时显示图标和文本,则此属性定义它们之间的间隔 |
void setHorizontalTextPosition(int textPosition) | 设置 JLabel 的文本相对其图像的水平位置 |
void setHorizontalAlignment(int alignment) | 设置标签内容沿 X 轴的对齐方式 |
int getText() | 返回 JLabel 所显示的文本字符串 |
Icon getIcon() | 返回 JLabel 显示的图形图像 |
Component getLabelFor() | 获得将 JLabel 添加到的组件 |
int getIconTextGap() | 返回此标签中显示的文本和图标之间的间隔量 |
int getHorizontalTextPosition() | 返回 JLabel 的文本相对其图像的水平位置 |
int getHorizontalAlignment() | 返回 JLabel 沿 X 轴的对齐方式 |
按钮
是图形界面上常见的元素,在前面已经多次使用过它。在 Swing 中按钮是 JButton 类的对象,JButton 类的常用构造方法如下。
- JButton():创建一个无标签文本、无图标的按钮。
- JButton(Icon icon):创建一个无标签文本、有图标的按钮。
- JButton(String text):创建一个有标签文本、无图标的按钮。
- JButton(String text,Icon icon):创建一个有标签文本、有图标的按钮。
JButton 类的常用方法如表 1 所示。
方法名称 | 说明 |
---|---|
addActionListener(ActionListener listener) | 为按担组件注册 ActionListener 监听 |
void setIcon(Icon icon) | 设置按钮的默认图标 |
void setText(String text) | 设置按鈕的文本 |
void setMargin(Insets m) | 设置按钮边框和标签之间的空白 |
void setMnemonic(int nmemonic) | 设置按钮的键盘快捷键,所设置的快捷键在实际操作时需要结合 Alt 键进行实现 |
void setPressedIcon(Icon icon) | 设置按下按钮时的图标 |
void setSelectedIcon(Icon icon) | 设置选择按鈕时的图标 |
void setRolloveiicon(Icon icon) | 设置鼠标移动到按扭区域时的图标 |
void setDisabledIcon(Icon icon) | 设置按钮无效状态下的图标 |
void setVerticalAlignment(int alig) | 设置图标和文本的垂直对齐方式 |
void setHorizontalAlignment(int alig) | 设置图标和文本的水平对齐方式 |
void setEnable(boolean flag) | 启用或禁用按扭 |
void setVerticalTextPosition(int textPosition) | 设置文本相对于图标的垂直位置 |
void setHorizontalTextPosition(int textPosition) | 设置文本相对于图标的水平位置 |
案例如下
package cn.com.plane;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
public class TextFieldDemo {
/*
* author:命运的信徒
* date:2019/1/18
* arm:JLable、JButton组件
*/
private static void setPage(){
//1.设置窗体的大小和标题
JFrame jf=new JFrame("JTextFieldDemo");
jf.setBounds(300, 200, 500, 500);
//设置关闭窗体就是关闭程序
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//布局为网格布局
GridLayout gou=new GridLayout(3, 3);
jf.setLayout(gou);
JPanel jp=new JPanel();
jp.setLocation(20, 20);
jp.setSize(new Dimension(50,50));
//创建标签组件
ImageIcon icon=new ImageIcon("img/index.jpg");
JLabel jtf=new JLabel("小猪佩奇",icon, JLabel.LEFT);
jtf.setPreferredSize(new Dimension(300,300));
jp.add(jtf);
jf.add(jp);
//创建按钮
JPanel jp1=new JPanel();
jp1.setLocation(200,200);
//带有图片的按钮
ImageIcon iicon=new ImageIcon("img/tv.PNG");
JButton jb0=new JButton(iicon);
jb0.setPreferredSize(new Dimension(100, 100));
//带有颜色的按钮
JButton jb1=new JButton("点击观看");
jb1.setBackground(Color.blue);
jb1.setForeground(Color.white);
//不可用的按钮
JButton jb2=new JButton("第一季");
jb2.setEnabled(false);
//底部对齐的按钮
JButton jb3=new JButton("^");
jb3.setPreferredSize(new Dimension(100, 50));
jb3.setVerticalAlignment(SwingConstants.BOTTOM);
jp1.add(jb0);
jp1.add(jb1);
jp1.add(jb2);
jp1.add(jb3);
jf.add(jp1);
//设置窗体可见
jf.pack();
jf.setVisible(true);
}
public static void main(String[] args) {
setPage();
}
}
效果如下