Java Swing JButton:按钮组件_书香水墨的博客-程序员秘密_swing jbutton

技术标签: swing  后端  

1 JButton(按钮组件)

JButton是图形界面上常见的元素,用于在swing中创建一个可以点击的按键。

1. 1 构造函数

JButton():创建一个无标签文本、无图标的按钮。
JButton(Icon icon):创建一个无标签文本、有图标的按钮。
JButton(String text):创建一个有标签文本、无图标的按钮。
JButton(String text,Icon icon):创建一个有标签文本、有图标的按钮。

1.2 常用方法

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)	设置文本相对于图标的水平位置

1.3 示例

使用 JFrame 组件创建一个窗口,然后创建 4 个不同类型的按钮,再分别添加到窗口上显示。

import javax.swing.*;
import java.awt.*;

public class JButtonDemo {
    
    public static void main(String[] args) {
    
        JFrame frame=new JFrame("Java按钮组件示例");    //创建Frame窗口
        frame.setSize(400, 200);
        JPanel jp=new JPanel();    //创建JPanel对象
        JButton btn1=new JButton("我是普通按钮");    //创建JButton对象
        JButton btn2=new JButton("我是带背景颜色按钮");
        JButton btn3=new JButton("我是不可用按钮");
        JButton btn4=new JButton("我是底部对齐按钮");
        jp.add(btn1);
        btn2.setBackground(Color.YELLOW);    //设置按钮背景色
        jp.add(btn2);
        btn3.setEnabled(false);    //设置按钮不可用
        jp.add(btn3);
        Dimension preferredSize=new Dimension(160, 60);    //设置尺寸
        btn4.setPreferredSize(preferredSize);    //设置按钮大小
        btn4.setVerticalAlignment(SwingConstants.BOTTOM);    //设置按钮垂直对齐方式
        jp.add(btn4);
        frame.add(jp);
        frame.setBounds(300, 200, 600, 300);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

1.4 运行效果

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_27870421/article/details/88210337

智能推荐

你必须了解的java内存管理机制(一)-运行时数据区_weixin_34417183的博客-程序员秘密

前言  本打算花一篇文章来聊聊JVM内存管理机制,结果发现越扯越多,于是分了四遍文章(文章讲解JVM以Hotspot虚拟机为例,jdk版本为1.8),本文为其中第一篇。from你必须了解的java内存管理机制-运行时数据区  相关链接(注:文章讲解JVM以Hotspot虚拟机为例,jdk版本为1.8,个人技术博客www.17coding.info)  1、你必须了解的java内存管理机制-...

中国第一程序员--求伯君_飞翔的胖鸟的博客-程序员秘密

怀念着小学在486上玩WPS的时代,怀念486--586时中国软件的辉煌中国第一程序员--求伯君摘自:http://www.XiaoHui.com 程序员的生 活,是比较寂寞、封闭和枯燥的。大浪淘沙,在这个软件工业飞速发展的时代里,出现了许多高手,但是,他们中的绝大多数人并不为人所知。像吴晓军、鲍岳桥、 周志农、刘旭、朱崇君、求伯君、王江民、王志东、梁肇新等等为大众所熟悉的高手,这么多来来也就这么

kali、Ubuntu 创建pycharm 的快捷方式_kali输入命令快捷创建python文件_阿小仔的博客-程序员秘密

在虚拟机里面下载了pycharm后每次启动都得到所对应的bin目录执行终端命令,非常的繁琐。有的小伙伴是写入一个Pycharm.Desktop文件从而创建快捷方式,但是好些人也包括我弄完之后发现只有一个图标在上面,或者只是一个黑框框,而且还打不开,我的pycharm版本是2017的,多次尝试之后我抛开了终端,把重心放在了软件本身,还真的有所发现。真的不容易啊,翻译了好多,一个一个尝试,一把辛酸泪,

增加apache支持中文URL_wangxiaofei2006的博客-程序员秘密

CentOS下,带中文的目录以及文件无法通过URL来访问,需要增加中文URL支持,解决办法如下:          1、安装mod_encoding下载两个rpm包(iconv_hook-1.0.0-1.i386.rpm和mod_encoding-2.2.0-1.i386.rpm):#wget http://www.xiit.cn/attachments/tools/ico

纳什均衡存在性:Brouwer , Sperner and Nash_初木的博客-程序员秘密

“If your laptop can’t find the equilibrium, how can they market?” [Kamal Jain]讲述了如何从Sperner推到Brouwer再推纳什的过程

PHP获取日期在月份里属于第几周,最简单的获取当天是本月第几周_php week_of_month_z109876543210的博客-程序员秘密

<?php$time = strtotime('2019-01-01');$wk_day = date('w', strtotime(date('Y-m-1 00:00:00', $time))) ? : 7; //今天周几$day = date('d', $time) - (8 - $wk_day); //今天几号echo $day <= 0 ? 1 : ceil($day...

随便推点

Windows连接redis异常:Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException_半糖少冰九九的博客-程序员秘密

本地测试,不使用pass连接另一台电脑Windows版的redis出现异常,如下:Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: Connection reset by peer: socket write error...

java jmenu单选_Swing JRadioButtonMenuItem类_weixin_39690105的博客-程序员秘密

JRadioButtonMenuItem类表示可以包含在菜单中的复选框。选中菜单中的复选框可将控件的状态从打开更改为关闭或从关闭更改为打开。类声明以下是javax.swing.JRadioButtonMenuItem类的声明 -public class JRadioButtonMenuItemextends JMenuItemimplements Accessible类构造函数编号构造函数描述1J...

2018网鼎杯re--beijing writeup_byte_804a02f^_木木or沐沐的博客-程序员秘密

昨天一上午一直在做这道逆向题,这个题目运行起来输出是乱码,就很烦气,一直在搞这个终端的编码问题,搞了半天结果方向错了,然后就放弃了,其实这道题做出来的人还是很多的,还是自己太菜了,感觉自己的re和pwn还是要多加努力学习才行,今天看到writeup来学习下,做一下学习的笔记哈。拿到这个binary,用file命令看一下,这个binary的基本信息,这是一个32位的elf文件,放到ubuntu下...

苹果审核被拒集锦_weixin_33910460的博客-程序员秘密

为什么80%的码农都做不了架构师?>>> ...

Django Template Error 及解决方法_JTCC的博客-程序员秘密

Traceback (most recent call last): File "", line 1, in t = template.Template("My name is {{ name }}.") File "C:\Python27\lib\site-packages\django\template\base.py", line 123, in __init__

推荐文章

热门文章

相关标签