`
god_sky
  • 浏览: 141568 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在JTable中添加下拉和复选框

    博客分类:
  • java
阅读更多

package com.sky.swing;

import javax.swing.DefaultCellEditor;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellEditor;

/**
 * 在JTable中添加下拉
 * @author sky
 *
 */
public class MyComboBox {

 /**
  * @param args
  */
 public static void main(String[] args) {
  MyTable mytable=new MyTable();
  DefaultTableModel model=(DefaultTableModel) mytable.getModel();
  model.addColumn("姓名",new Object[]{"向小文","刘晓明"});
  model.addColumn("语文", new Object[] { "100","99" });
     model.addColumn("数学", new Object[] { "98","90" });
     model.addColumn("复选框", new Object[] { false,false });
   
    
     String[] values = new String[] { "90", "92", "93" };
     mytable.setComboCell(0, 1, new MyComboBoxEditor(values));//第一行的第二例为下拉
    
     JScrollPane jp=new JScrollPane(mytable);
     jp.setViewportView(mytable);
     jp.setSize(400,300);
     JFrame jf=new JFrame();
     jf.getContentPane().add(jp);
     jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     jf.setSize(400,300);
     jf.setVisible(true);
 }

}
//----------------表体table------------------
class MyTable extends JTable{
 int myRow=-1,myCol=-1;
 TableCellEditor myEditor;//边框编辑器
 
 public void setComboCell(int row,int col,TableCellEditor editor){
  this.myRow=row;
  this.myCol=col;
  this.myEditor=editor;
 }
 
 public TableCellEditor getCellEditor(int row,int col){
  if(row==myRow&&col==myCol&&myEditor!=null)
   return myEditor;
  return super.getCellEditor(row,col);
 }
 
  /**
   * 返回数据类型
   */
  public Class getColumnClass(int myCol) {
   return getValueAt(0, myCol).getClass();
  }
}

//-----------------------下拉编辑器-----------------------
class MyComboBoxEditor extends DefaultCellEditor{
 
 private static final long serialVersionUID = 1L;

 public MyComboBoxEditor(JCheckBox checkBox) {
  super(checkBox);
 }

 public MyComboBoxEditor(String[] value){
  super(new JComboBox(value));
 }
}

class MyCheckBoxEditor extends DefaultCellEditor{

 public MyCheckBoxEditor(JCheckBox checkBox) {
  super(checkBox);
 }
 
 public MyCheckBoxEditor() {
  super(new JCheckBox());
 }
 
 /**
  *
  */
 private static final long serialVersionUID = 1L;
 
}

分享到:
评论

相关推荐

    Jtable中加入复选框的两种方法

    JTable中加入复选框的两种方法 在Java中,JTable是一个常用的表格控件,用于显示和编辑表格...通过使用CheckBoxRenderer类和CheckButtonEditor类,我们可以轻松地将复选框添加到JTable中,并实现复杂的表格编辑功能。

    java swing 多选下拉框 支持动态加载数据

    1. **JComboBox**:JComboBox是Swing中的一个组件,它提供了一个可以下拉选择的列表。默认情况下,用户只能从列表中选择一个项。我们可以设置其model来改变其行为,例如添加多选功能。 2. **Custom Renderer**:...

    swing基础问题解答

    此外,`JMenu`还可以包含`JCheckBoxMenuItem`和`JRadioButtonMenuItem`,它们分别用于创建复选框和单选按钮菜单项,为用户提供多选或互斥的选择。 **JPopupMenu** `JPopupMenu`是一个可以出现在屏幕任意位置的下拉...

    Java Swing 组件全演示源代码.rar_java swing_java 组件_java swing_java源代码_

    Swing 提供了大量的组件,包括基础组件如按钮(JButton)、文本框(JTextField)、标签(JLabel)、复选框(JCheckBox)、单选按钮(JRadioButton)、滚动面板(JScrollPane)以及更复杂的组件如表格(JTable)、...

    Swing教程

    对于需要复选和单选的菜单项,JCheckBoxMenuItem和JRadioButtonMenuItem是理想的选择。JOptionPane类则用于方便地显示各种类型的对话框,例如信息提示、确认对话和输入对话。 JTable是Swing中用于显示和操作二维...

    JAVA_Test.zip_GUI test

    描述中提到的“组合检索功能”可能使用了文本框、下拉菜单、复选框等控件,允许用户通过多种条件组合进行查询。 4. **事件处理**:在GUI中,事件处理是关键,它负责响应用户的输入。Java使用事件监听器接口,如...

    Java Swing常用组件应用实例源码.rar

    4. **JRadioButton和JCheckBox** - 这两个组件分别用于创建单选按钮和复选框,用于用户提供多个选择。示例可能会涵盖如何组织它们成组,以及如何监听用户的选择变化。 5. **JTextArea和JTextField** - 这两个组件...

    最全的Java Swing示例程序

    7. JCheckBox和JRadioButton:复选框和单选按钮提供了多种选择的选项。 8. JComboBox:下拉组合框,用户可以在预设的选项中选择一个。 9. JList和JTable:用于展示列表数据和表格数据,可以进行排序和筛选。 10. ...

    JAVA swing类例子

    2. **JCheckBoxDemo.java**:`JCheckBox`是Swing中的复选框组件,用于提供两种状态的选择:选中或未选中。此示例可能包括如何创建、布局和监听复选框的状态变化,以便根据用户的选择执行相应的操作。 3. **...

    datagrid技巧大全

    2. 自定义列:学习如何根据需求设置列的类型,如文本、数字、日期等,以及如何添加复选框或下拉列表等复杂列。 3. 行操作:掌握如何添加、删除和编辑`datagrid`中的行,以及如何处理这些操作的事件。 4. 数据过滤...

    java swing 编写的。。。。。

    - `JCheckBox`和`JRadioButton`:复选框和单选按钮,用于多选或单选操作。 - `JMenuBar`和`JMenu`:创建菜单栏和子菜单,提供程序的导航和功能。 2. **布局管理器**: - `FlowLayout`:默认布局,从左到右,从上...

    JAVA教程第3章(程序界面设计).ppt

    这些组件可以用来设计各种界面元素,例如窗体、面板、按钮、复选框、下拉列表、对话框、标签、列表、消息框、密码框、容器、单选按钮、表格、文本框等。 知识点四:图形绘制 图形绘制是程序界面设计的重要组成部分...

    Java-Swing控件实例代码

    7. **JCheckBox**和**JRadioButton**:复选框和单选按钮,用于提供多选或二选一的选项。它们通常会配合ButtonGroup使用,以确保同一组内的单选按钮只能选择一个。 8. **JTable**:用于展示二维数据的表格组件,可以...

    java组件示例

    - JCheckBox和JRadioButton:分别代表复选框和单选按钮,用于用户选择。 - JComboBox:下拉选择框,用户可以从预设列表中选择一项。 - JList和JTable:用于显示和操作列表数据和表格数据。 - JScrollPane:当...

    swing课ppt+组件,源码

    7. JCheckBox和JRadioButton:复选框和单选按钮,用于用户提供多种选择。它们通常与ButtonGroup一起使用,以管理单选按钮的选择。 8. JComboBox:下拉选择框,允许用户从预定义的选项列表中选择一个值。 9. JList...

    Java Swing'组件集合

    首先,Swing 提供了丰富的组件集,包括按钮(JButton)、文本框(JTextField)、标签(JLabel)、复选框(JCheckBox)、单选按钮(JRadioButton)、滚动面板(JScrollPane)、菜单(JMenu)和菜单项( JMenuItem)等...

    java第十二章GUI编程

    7. `CheckBox`和`RadioButton`:复选框和单选按钮。 Swing库扩展了AWT,并引入了一些新的组件: 1. `JFrame`和`JDialog`:Swing版本的顶级容器,功能与AWT的`Frame`类似。 2. `JPanel`:Swing版本的面板,可替代AWT...

    java中常用的9种组件

    7. **JCheckBox**:复选框,用户可以选中或取消选中。通过`isSelected()`检查状态,`setSelected()`改变状态。 8. **JRadioButton**:单选按钮,一组JRadioButton只能有一个被选中。它们通常配合ButtonGroup使用,...

    java swing 的类似几个windows风格的控件

    7. **JRadioButton** 和 **JCheckBox**: 这两者分别代表单选按钮和复选框,它们允许用户在多个选项中进行选择,而JRadioButton则限制只能选择一个。 8. **JTable**: JTable 用于展示表格数据,用户可以查看和编辑...

Global site tag (gtag.js) - Google Analytics