panel-90

问题描述:java swing如何在JTable一个单元格添加多个复选框 本篇文章给大家谈谈一个有趣的事情,以及一个有趣的事情,希望对各位有所帮助,不要忘了收藏本站喔。

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

panel-90的相关图片

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;。

 }

医学术语中的panel到底是什么意思的相关图片

医学术语中的panel到底是什么意思

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;。

 }

为什么我的电脑老是自动关机啊?的相关图片

为什么我的电脑老是自动关机啊?

翻译医学文件,遇到了panel这个词。去查背景资料,简直大吃一惊:panel这个词竟然直接当中文用了,如下图:

那么问题来了,panel作为一个医学术语,连圈内人都会对它心生疑问,那么直接拿来用合适么?若不合适,又该怎么翻译它呢?

遇到不懂的词就要查词典,查专业工具书,查互联网。

panel这个词之所以被直接用在中文语境中,想必不是用的人懒,而是因为查一般的词典找不到适合医学语境的解释。

例如,牛津高阶、美国传统之类的通用词典给它的解释是“板”(镶板、 嵌板、金属板、仪表板)或“一组人”(陪审团、专门小组)。这些释义怎么看都无法套用在测序技术中涉及的gene panel上。

但是,去查医学词典,就会对panel这个词有比较明晰的理解。比如, medical-dictionary.thefreedictionary.com 上提供的panel的释义:

medical-dictionary.thefreedictionary.com 上也提供了test panel这个词条,如下图:

总结来说,panel就是指一组或一套检测,有时与test连用,表达同样的意思。

下面具体看几个含有panel的医学术语,以及它们的中文翻译和英语释义:

先看上表中的前两个术语,它们对应的中文并没有翻译出panel这个词,整体算是意译了。

再看后三个术语,panel译成了“套餐”。

再看这几个术语的英语翻译,全都是 "a group of *** tests"。也就是说, 一个panel是指一组tests(检测/测试) 。

上面的几个术语是由来已久的,中英文都已经深入人心(至少是圈内人的人心)。

然而,在基因检测领域,panel的用法(或者说“中文翻译”)似乎没那么根基牢固。下面这条解释是中文媒体上能找到的比较全面的了:

既然panel是外来词,当然要看看英语世界对它的解释了。

美国国家癌症研究所网站上的 基因学术语词典 The NCI Dictionary of Genetics Terms 里有 multiple-gene panel test 这个词条,释义是:

综上所术,实验检测语境下,作为医学术语的panel指的是一组/一套检测,中文媒体上出现过的翻译是“套餐”、“组合/集合”。

基于上文提到的英语释义和出现过的中文翻译,本人认为, 指“一组/一套检测”时,panel可以翻译为“检测组套”、“检测组合”、“检测套餐”,优先顺序:检测组套=检测组合>检测套餐(总觉得“套餐”的商业气息太重) 。相应地,panel test 可以翻译为“组套检测”,gene panel 可以翻译为“基因检测组套”或“基因组套检测”,具体怎么翻译要看语境强调的是“检测”还是“组套”。

panel并不是一个新造的词,而且早就运用于基因测序以外的医学环境。它不是一个不可译的词,希望它的中文翻译能普及开来,哪一天能收录到某个词典中就更好了。

panel如何联想记忆的相关图片

panel如何联想记忆

电脑自动关机主要有以下几种原因造成:

1.

散热不好。由于天气温度的影响或CPU风扇的转数不够所引起的系统过热,从而会导致电脑的自动关机,建议可以检查一下系统温度是否正常。

2.

内存原因。当内存与主板插槽接触松动时也有可能引起电脑自动关机,建议检查内存是否和主板插紧。

3.

电源问题。电源的供电不足也是一个引起电脑自动关机的重要因素,但从此配置来看,这个问题存在的可能性很小。

4.

软件因素。由于病毒或木马所引起的电脑关机也比比皆是,尤其最近流行的机器狗等盗号木马,中了该病毒之后便会导致系统的重启与关机。如果使用的是Windows。

2000或Windows

XP系统,建议您在用杀毒软件杀毒之后及时打上冲击波的补丁,一般问题就可以解决。

C#中pannel的背景颜色怎么改变

1. 【口诀】天使在人间 一个美丽angel(天使) 来到人间travel(旅游) 经过一座chapel(小教堂) 透过玻璃panel(板) 发现两人quarrel(吵架) 为了一条towel(毛巾) 被人撕了label(标签) 这事真是novel(稀奇的)。

2. 【谐音】拍脑 一拍脑门成立个专门小组。 ->专门小组、面、板。

3. panel : 来自pane,布条,-el,小词后缀。即小布条,引申词义面板,金属板,窗玻璃。后用于指在布条上列举名字的陪审团成员或讨论小组清单。

原文地址:http://www.qianchusai.com/panel-90.html

感动哭九个老师的高考作文,酷家乐怎么给门洞加门套

感动哭九个老师的高考作文,酷家乐怎么给门洞加门套

之鑫-70,之鑫达有限公司

之鑫-70,之鑫达有限公司

cc/女儿给爸爸洗脚简笔画,儿子给爸爸洗脚的画怎么画

cc/女儿给爸爸洗脚简笔画,儿子给爸爸洗脚的画怎么画

lw/解决问题图片欣赏,解决问题的搞笑图片

lw/解决问题图片欣赏,解决问题的搞笑图片

Mafure,马夫人为什么要害乔峰

Mafure,马夫人为什么要害乔峰

k2p搭建v2ray,k2p搭建v2ray免流

k2p搭建v2ray,k2p搭建v2ray免流

社鼠文言文-60,社鼠文言文重点字翻译

社鼠文言文-60,社鼠文言文重点字翻译

expanse-0

expanse-0

doesnot-100

doesnot-100

judo-50

judo-50