zoukankan      html  css  js  c++  java
  • java游戏开发基础Swing之JCheckBox

    © 版权声明:本文为博主原创文章,转载请注明出处

    1.复选框(JCheckBox)

      使用复选框可以完成多项选择。Swing中的复选框与AWT中的复选框相比,优点是Swing复选框中可以添加图片

      JCheckBox的常用构造方法:

        JCheckBox(Icon icon):创建一个有图标,但未被选中的复选框

        JCheckBox(Icon icon, boolean selected):创建一个有图标,并且指定是否被选中的复选框

        JCheckBox(String text):创建一个有文本,但未被选中的复选框

        JCheckBox(String text, boolean selected):创建一个有文本,并且制定是否被选中的复选框

        JCheckBox(String text, Icon icon):创建一个指定文本和图标,但未被选中的复选框

        JCheckBox(String text, Icon icon, boolean selected):创建一个指定文本和图标,并且指定是否被选中的复选框

      JCheckBox的常用方法:

        isSelected():返回复选框状态

        setSelected(boolean b):设定复选框状态

    2.案例:让用户选中自己的爱好

    2.1 项目结构

    2.2 pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>org.swing</groupId>
      <artifactId>swing</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>swing</name>
      <url>http://maven.apache.org</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </project>

    2.3 JCheckBoxTest.java

    package org.swing.jcheckbox;
    
    
    import java.awt.Container;
    import java.awt.FlowLayout;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    
    import javax.swing.JCheckBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    
    public class JCheckBoxTest extends JFrame {
    
    	private static final long serialVersionUID = 1L;
    
    	public JCheckBoxTest() {
    		
    		super("复选框");// 初始化窗口标题
    		
    		Container container = getContentPane();// 获取一个内容面板容器
    		container.setLayout(new FlowLayout());// 设置窗口的布局
    		
    		Favorite f = new Favorite();// 创建一个爱好面板对象
    		
    		container.add(f);// 将面板对象添加到内容面板容器中
    	
    		pack();// 自动调节窗口大小
    		setVisible(true);// 设置窗口可见
    		addWindowListener(new WindowAdapter() {// 添加窗口监听器
    			@Override
    			public void windowClosing(WindowEvent e) {
    				System.exit(0);
    			}
    		});
    	
    	}
    	
    	public static void main(String[] args) {
    		
    		new JCheckBoxTest();
    		
    	}
    	
    }
    
    /**
     * 创建一个爱好面板对象
     *
     */
    class Favorite extends JPanel {
    	
    	private static final long serialVersionUID = 1L;
    	
    	JCheckBox sport, computer, music, read;
    	
    	public Favorite() {
    
    		// 初始化复选框
    		sport = new JCheckBox("运动");
    		computer = new JCheckBox("电脑");
    		music = new JCheckBox("音乐");
    		read = new JCheckBox("读书");
    		
    		// 向面板中添加组件
    		add(new JLabel("爱好"));
    		add(sport);
    		add(computer);
    		add(music);
    		add(read);
    		
    		sport.setSelected(false);
    		computer.setSelected(false);
    		music.setSelected(false);
    		read.setSelected(false);
    	
    	}
    	
    }

    2.4 效果预览

    参考:《Java游戏编程原理与实践教程》

  • 相关阅读:
    C++11中右值引用和移动语义
    面试题3:自己实现单链表
    C++中指针和引用、数组之间的区别
    C++中对象模型
    C++中虚函数的动态绑定和多态性
    C++11中多线程库
    C++中友元
    C++中迭代器原理、失效和简单实现
    C++11中智能指针的原理、使用、实现
    C++中模板与泛型编程
  • 原文地址:https://www.cnblogs.com/jinjiyese153/p/7132169.html
Copyright © 2011-2022 走看看