java复选框,JAVA复选框怎么判断是否选中

本文目录一览:

Java中复选框用JCheckBox类定义对象即可,其中判断该对象是否被选中,可以通过?

isSelected()不可以用于判断JCheckBox()是否被选中,因为该函数继承自JButton,只要点击JCheckBox,该函数就返回true。可以测试如下:

ArrayListString rst = new ArrayListString();

JCheckBox box = new JCheckBox();

if(box.isSelected()){

rst.add(box.getText());

}可以看出当box被勾掉选中时,rst.add(box.getText())语句照样执行。

监听JcheckBox的改变事件,记录一个boolean变量,随着改变而切换其值,从而保证与是否选中同步

java中怎样判断复选框是否被选中?

input type=checkbox name=”isSelected” value=”a”

1、在javascript中,可通过isSelected.checked来判断。

2、提交后,可用request.getParameter(“isSelected”)获得提交的值,若为空则没有被选中;若有多个复选框,名字都为isSelected,可通过request.getParameterValues(“isSelected”)获得一个String的数组。

java中怎样判断复选框是否被选中

CheckBox chkbox = new CheckBox();

这是复选框。

它有个方法  boolean getState()  

返回选中状态的。

使用如下:

chkbox.getState()

用你的说法 ,那就应该如下写法:

if(chkbox.getState()) //选中

    //这里把数据库更新为1

else //未选中

    //这里把数据库更新为0

java swing如何在JTable一个单元格添加多个复选框

java swing中在jTable中添加多个复选框的方式如下:

import java.awt.Component;

 import java.awt.event.ActionEvent;

 import java.awt.event.ActionListener;

 

 import javax.swing.*;

 import javax.swing.table.*;

 

 

 public class MyFirstJFrame extends JFrame {

     

     // 作为测试的main方法

     public static void main(String[] args) {

         new MyFirstJFrame().setVisible(true);

     }

     

     /**

      * 构造方法

      */

     public MyFirstJFrame() {

         InitialComponent();

     }

     

     /**

      * 初始化组件的方法

      */

     private void InitialComponent(){

         // 设置窗体参数

 

         // 设置布局模式

          setLayout(null);

         // 设置窗体大小

         setSize(480, 360);

         // 设置窗体居中(非常规方法)

          setLocationRelativeTo(null);

         // 关闭窗体退出程序

         setDefaultCloseOperation(DISPOSE_ON_CLOSE);

         

         // 初始化面板

         panel = new JPanel();

         panel.setSize(this.getWidth(), this.getHeight());

         panel.setLocation(0,0);

         panel.setLayout(null);

         

         // 初始化表格

         table = new JTable(new DefaultTableModel(new Object[][]{{“第一行”},{“第二行”},{“第三行”},{“第四行”}}, new String[]{“测试行1″,”测试行2”}){

             /* (non-Javadoc)

              * 重写方法,判断表单元格是否可编辑

              * 可以通过row和column索引判断某一个单元格是否可编辑

              * 此处设为都不可编辑

              * @see javax.swing.table.DefaultTableModel#isCellEditable(int, int)

              */

             @Override

             public boolean isCellEditable(int row, int column) {

                 return false;

             }

         });

         

         // 开始向表格中添加复选框(注意:此示例较为简单,缺省很多判断,也没有动态代码支持)

         // 通过设置列渲染

         

         // 方法一:直接方式 使用TableColumn的setCellRenderer方法(推荐)

         // 此方法可以设置某一列的渲染(即使用某一个组件–即控件来显示单元格数据)

         table.getColumnModel().getColumn(1).setCellRenderer(new TableCellRenderer(){

 

              /*(non-Javadoc)

              * 此方法用于向方法调用者返回某一单元格的渲染器(即显示数据的组建–或控件)

              * 可以为JCheckBox JComboBox JTextArea 等

              * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)

              */

             @Override

             public Component getTableCellRendererComponent(JTable table,

                     Object value, boolean isSelected, boolean hasFocus,

                     int row, int column) {

                 // 创建用于返回的渲染组件

                 JCheckBox ck = new JCheckBox();

                 // 使具有焦点的行对应的复选框选中

                 ck.setSelected(isSelected);

                 // 设置单选box.setSelected(hasFocus);

                 // 使复选框在单元格内居中显示

                 ck.setHorizontalAlignment((int) 0.5f);

                 return ck;

             }});

         

         // 方法二:先设置列编辑器,然后设置单元格渲染

         // 设置列编辑器

         // 在以复选框为对象设置列编辑器时,必须保证该列能够被编辑,否则无法更改状态

         // (此步骤可以省略,省略时不要忘记将列设为不可编辑)

         // table.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(new JCheckBox()));

         

         // 设置单元格渲染(这里是设置表格级别的渲染)

         /*table.setDefaultRenderer(Object.class, new TableCellRenderer(){

 

             @Override

             public Component getTableCellRendererComponent(JTable table,

                     Object value, boolean isSelected, boolean hasFocus,

                     int row, int column) {

                 // 判断是否为需要渲染的列

                 if(column == 1){

                     // 和方法一基本一致

                     JCheckBox box = new JCheckBox();

                     box.setSelected(isSelected);

                     // 设置单选box.setSelected(hasFocus);

                     box.setHorizontalAlignment((int) CENTER_ALIGNMENT);    // 0.5f

                     return box;

                     }

                 // 如果不是需要渲染的列,封装文本域显示数据

                 return new JTextArea(value.toString());

             }});*/

         

         // 在多选是需要按住Ctrl键或者鼠标按住拖过连续的需要选中的行,应该给用户说明

         // 第一种方法是被推荐的,因为它具有选中的高亮显示,界面能更加友好

         table.setSize(panel.getWidth(),panel.getHeight() – 90);

         table.setLocation(0, 0);

         

         

         btn = new JButton(“Test”);

         btn.setSize(80,40);

         btn.setLocation((panel.getWidth()) / 2 – 40, panel.getHeight() – 80);

         

         // 按钮点击时显示当前选中项

         btn.addActionListener(new ActionListener(){

 

             @Override

             public void actionPerformed(ActionEvent e) {

                 for(int rowindex : table.getSelectedRows()){

                     JOptionPane.showMessageDialog(null, rowindex + ” ” + table.getValueAt(rowindex, 0));

                 }

             }});

         

         panel.add(table);

         panel.add(btn);

         this.add(panel);    

         

     }

     

     // 定义一些必要的组件

     private JPanel panel;

     private JTable table;

     private JButton btn;

 }

java怎样设置复选框加长

如果是绝对布局,那么可以设置大小xx.setSize(width, height);

当然一般不推荐设置为绝对布局. 其他布局,我们可以使用空白来进行占位, 扩大复选框的长度

然后设置下setActionCommand() 就不会影响取值了

代码如下

JCheckBox jc1 = new JCheckBox(”    足球        “);

jc1.setActionCommand(“足球”);

也可以不使用setActionCommand ,

而是在使用时 jc1.getText().trim();也可以去掉两端的空白

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/159521.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-20 00:14
下一篇 2024-11-20 00:14

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29
  • Java 8 Group By 会影响排序吗?

    是的,Java 8中的Group By会对排序产生影响。本文将从多个方面探讨Group By对排序的影响。 一、Group By的概述 Group By是SQL中的一种常见操作,它…

    编程 2025-04-29

发表回复

登录后才能评论