首页 > 其他分享 >18. 按钮的进一步学习

18. 按钮的进一步学习

时间:2023-08-20 23:45:20浏览次数:30  
标签:container JRadioButton 18 学习 add 按钮 new 500

图片按钮,单选框,多选框

package GUI;

import javax.swing.*;
import java.awt.*;
import java.net.URL;
// 按钮的进一步学习
// 图片按钮,单选框,多选框,本质上也是按钮
public class Test18 {
    public static void main(String[] args) {
        new JButtonDemo();
        new JRadioButtonDemo();
        new JCheckBoxButtonDemo();
    }
}

// 图标按钮
class JButtonDemo extends JFrame{
    public JButtonDemo()   {
        Container container = getContentPane();
        // 把一张图片变成图标
        URL resource = JButtonDemo.class.getResource("piture.png");
        ImageIcon imageIcon = new ImageIcon(resource);

        // 将图标放在按钮上
        JButton jButton = new JButton(imageIcon);
        jButton.setToolTipText("这是图片按钮,也是提示");  // 将鼠标放在按钮上出现的提示文字

        container.add(jButton);

        setVisible(true);
        setSize(500,500);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

// 单选框,单个圆圈的
class JRadioButtonDemo extends JFrame{
    public JRadioButtonDemo()  {
        Container container = getContentPane();

        // 单选框(也是按钮),JRadioButton。分组,一组中只能选一个
        JRadioButton jRadioButton1 = new JRadioButton("jRadioButton1");
        JRadioButton jRadioButton2 = new JRadioButton("jRadioButton2");
        JRadioButton jRadioButton3 = new JRadioButton("jRadioButton3");

        ButtonGroup buttonGroup = new ButtonGroup();  // 分组,只能选择其中一个
        buttonGroup.add(jRadioButton1);
        buttonGroup.add(jRadioButton2);
        buttonGroup.add(jRadioButton3);

        container.add(jRadioButton1,BorderLayout.NORTH);
        container.add(jRadioButton2,BorderLayout.CENTER);
        container.add(jRadioButton3,BorderLayout.SOUTH);

        setVisible(true);
        setSize(500,500);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

// 多选框,打勾的
class JCheckBoxButtonDemo extends JFrame{
    public JCheckBoxButtonDemo()  {
        Container container = getContentPane();

        JCheckBox jCheckBox1 = new JCheckBox("jCheckBox1");
        JCheckBox jCheckBox2 = new JCheckBox("jCheckBox2");
        JCheckBox jCheckBox3 = new JCheckBox("jCheckBox3");

        container.add(jCheckBox1,BorderLayout.NORTH);
        container.add(jCheckBox2,BorderLayout.CENTER);
        container.add(jCheckBox3,BorderLayout.SOUTH);

        setVisible(true);
        setSize(500,500);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

标签:container,JRadioButton,18,学习,add,按钮,new,500
From: https://www.cnblogs.com/zhanjianhai/p/17644883.html

相关文章

  • webpack学习笔记所使用的版本信息
    学习笔记所使用的版本信息学习笔记用到的npm包版本信息[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]......
  • Programming abstractions in C阅读笔记: p118-p122
    《ProgrammingAbstractionsInC》学习第49天,p118-p122,总结如下:一、技术总结1.随机数(1)seedp119,"Theinitialvalue--thevaluethatisusedtogettheentireprocessstart--iscallaseedfortherandomgenerator."二、数学总结1.均匀分布(uniformdistribution)......
  • python学习日记 2023年8月20日
    fromPILimportImage##pipinstallpillowimportosim=Image.open('./1.jpg')w,h=im.sizeimage_row=3image_column=5names=os.listdir('./img_f')new_img=Image.new('RGB',(image_column*w,image_row*h))foryinra......
  • 《代码整洁之道 Clean Code》学习笔记 Part 1 - 命名、注释、格式
    前段时间在看《架构整洁之道》,里面提到了:构建一个好的软件系统,应该从写整洁代码做起。毕竟,如果建筑使用的砖头质量不佳,再好的架构也无法造就高质量的建筑。趁热打铁,翻出《代码整洁之道》再刷一遍。《代码整洁之道CleanCode》学习笔记Part1衡量代码质量的唯一标准:WTF/min......
  • 重新学习一下new Date()
    newDate()你知道多少很多小伙伴可能都知道,Date是js中的一个内置对象,用于处理日期和时间。当你调用newDate()时,它会创建一个新的日期(Date)对象。表示当前本地日期和时间。那么你知道newDate()可以接收几种形式的参数吗?它的默认返回是什么日期格式?newDate()可......
  • 关于decimal非常浅显的学习与整理
    关于decimal非常浅显的学习与整理背景知识整数,小数,浮点,定点整数(Integer)是没有小数部分的数值,可以是正数、负数或零。在计算机中,整数通常以二进制形式存储。小数(Decimal)是带有小数部分的数值。小数可以是有限的,也可以是无限循环的。在计算机中,小数通常以浮点数或定点数的......
  • 图论-分层图学习笔记
    在前几天模拟赛中第一次见,之前不太理解,今天大概搞明白些了。个人理解分层图:图中的边在特定的时间可以变换。那就将各个时间根据当前不同的状态分层建图。说白了就是存各边的不同状态。连边时,同一层的点可以相连,不同层的也可以连过去。所以你就会发现分层图的难度在于建图,连边......
  • 【学习笔记】简单数论-高斯消元与线性空间
    友情提示本博客内部分内容因缺乏样例,可能晦涩难懂,建议参考蓝书或者数论小白都能看懂的线性方程组及其解法。线性方程组线性方程组是由\(M\)个\(N\)元一次方程共同构成的。线性方程组的所有系数可以写成一个\(M\)行\(N\)列的系数矩阵,再加上每个方程等号右侧的常数,可......
  • 点分树(动态点分治) 学习笔记
    模板题题目传送门给定一棵树(带点权),支持以下操作:修改点权。查询到一个点距离\(\lek\)的点的权值和。\(n,T\le10^5\)算法解析前置知识:点分治我们考虑把每次求出的重心和上一层的重心连边,我们就可以得到点分树。这棵树有以下性质:树高为\(\logn\),也就是暴力找LCA的......
  • 【人工智能】机器学习入门之监督学习(一)有监督学习
    机器学习入门之监督学习(一)有监督学习简介监督学习算法是常见算法之一,主要分为有监督学习和无监督学习。本文主要记录了有监督学习中的分类算法和回归算法,其中回归算法是最主要内容。本笔记对应视频:阿里云开发者社区学习中心-人工智能学习路线-阶段1:机器学习概览及常见算法对应......