⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jradiobuttontableexample.java

📁 tame,扩展了好多SWing组件:JTable
💻 JAVA
字号:
/* (swing1.1beta3) */package tame.examples;import java.awt.Component;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.ButtonGroup;import javax.swing.DefaultCellEditor;import javax.swing.JCheckBox;import javax.swing.JFrame;import javax.swing.JRadioButton;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.UIDefaults;import javax.swing.UIManager;import javax.swing.event.TableModelEvent;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableCellRenderer;/**@author Nobuo Tamemasa@version 1.0 12/03/98*/public class JRadioButtonTableExample extends JFrame {  public JRadioButtonTableExample(){    super( "JRadioButtonTable Example" );    UIDefaults ui = UIManager.getLookAndFeel().getDefaults();    UIManager.put("RadioButton.focus", ui.getColor("control"));    DefaultTableModel dm = new DefaultTableModel();    dm.setDataVector(      new Object[][]{        {"Group 1",new JRadioButton("A")},        {"Group 1",new JRadioButton("B")},        {"Group 1",new JRadioButton("C")},        {"Group 2",new JRadioButton("a")},        {"Group 2",new JRadioButton("b")}},      new Object[]{"String","JRadioButton"});    JTable table = new JTable(dm) {      public void tableChanged(TableModelEvent e) {        super.tableChanged(e);        repaint();      }    };    ButtonGroup group1 = new ButtonGroup();    group1.add((JRadioButton)dm.getValueAt(0,1));    group1.add((JRadioButton)dm.getValueAt(1,1));    group1.add((JRadioButton)dm.getValueAt(2,1));    ButtonGroup group2 = new ButtonGroup();    group2.add((JRadioButton)dm.getValueAt(3,1));    group2.add((JRadioButton)dm.getValueAt(4,1));    table.getColumn("JRadioButton").setCellRenderer(new RadioButtonRenderer());    table.getColumn("JRadioButton").setCellEditor(new RadioButtonEditor(new JCheckBox()));    JScrollPane scroll = new JScrollPane(table);    getContentPane().add( scroll );    setSize( 200, 140 );    setVisible(true);  }  public static void main(String[] args) {    JRadioButtonTableExample frame = new JRadioButtonTableExample();    frame.addWindowListener(new WindowAdapter() {      public void windowClosing(WindowEvent e) {        System.exit(0);      }    });  }}/**@author Nobuo Tamemasa@version 1.0 12/03/98*/class RadioButtonRenderer implements TableCellRenderer {  public Component getTableCellRendererComponent(JTable table, Object value,                   boolean isSelected, boolean hasFocus, int row, int column) {    if (value==null) return null;    return (Component)value;  }}/**@author Nobuo Tamemasa@version 1.0 12/03/98*/class RadioButtonEditor extends    DefaultCellEditor                        implements ItemListener {  private JRadioButton button;  public RadioButtonEditor(JCheckBox checkBox) {    super(checkBox);  }  public Component getTableCellEditorComponent(JTable table, Object value,                   boolean isSelected, int row, int column) {    if (value==null) return null;    button = (JRadioButton)value;    button.addItemListener(this);    return (Component)value;  }  public Object getCellEditorValue() {    button.removeItemListener(this);    return button;  }  public void itemStateChanged(ItemEvent e) {    super.fireEditingStopped();  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -