「java单元格添加复选框」java复选框字体加粗

博主:adminadmin 2023-03-17 06:27:07 434

今天给各位分享java单元格添加复选框的知识,其中也会对java复选框字体加粗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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怎么才能在表格中加入复选框

先得有个表单,就是form,然后再form里面加上复选框checkbox。

form action="xxxx" method="post"

input type="checkbox" name="checkbox1" /复选框1br/

input type="checkbox" name="checkbox2" /复选框2br/

input type="checkbox" name="checkbox3" /复选框3br/

input type="checkbox" name="checkbox4" /复选框4br/

……

/form

java怎么写带复选框的表格

是j2se的代码吧。

//JCheckBoxTest.java

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class JCheckBoxTest extends JApplet implements ItemListener{

//变量定义

int sum=0, a=0, b=0, c=0, d=0;

Container ctp=getContentPane();

JTextField tf=new JTextField(10);

JLabel lb=new JLabel("总价:");

JCheckBox cb1,cb2,cb3,cb4;

JButton btn=new JButton("清除");

//初始化小程序

public void init(){

ctp.setLayout(new FlowLayout());

cb1=new JCheckBox("显示器1350",false);

cb1.addItemListener(this);

ctp.add(cb1);

cb2=new JCheckBox("内存780",false);

cb2.addItemListener(this);

ctp.add(cb2);

cb3=new JCheckBox("硬盘1100",false);

cb3.addItemListener(this);

ctp.add(cb3);

cb4=new JCheckBox("CPU410",false);

cb4.addItemListener(this);

ctp.add(cb4);

ctp.add(lb);

ctp.add(tf);

ctp.add(btn);

btn.addActionListener(new koListener());

}

//选项的选择

public void itemStateChanged(ItemEvent e){

JCheckBox cbx=(JCheckBox)e.getItem();

if (cbx==cb1) a=1350;

if (cbx==cb2) b=780;

if (cbx==cb3) c=1100;

if (cbx==cb4) d=410;

sum=a+b+c+d;

tf.setText(String.valueOf(sum)+"元");

}

//计算

class koListener implements ActionListener{

public void actionPerformed(ActionEvent e){

cb1.setSelected(false);

cb2.setSelected(false);

cb3.setSelected(false);

cb4.setSelected(false);

a=0; b=0; c=0; d=0;

sum=a+b+c+d;

tf.setText(String.valueOf(sum)+"元");

}

}

}

试试这个。

java单元格添加复选框的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java复选框字体加粗、java单元格添加复选框的信息别忘了在本站进行查找喔。