wordpress站点标题字数,阿里 wordpress,易语言 wordpress登录注册,wordpress插件密钥实现在下面的示例中#xff0c;TableModel更新Set checked在执行setValueAt()..相邻模型JList侦听表的模型并显示当前选定的行号。该示例假定所选行数与行数相比较小。注意使用TreeSet#xff0c;其迭代器保留了元素的自然顺序。import java.awt.Dimension;import java.awt.Event…在下面的示例中TableModel更新Set checked在执行setValueAt()..相邻模型JList侦听表的模型并显示当前选定的行号。该示例假定所选行数与行数相比较小。注意使用TreeSet其迭代器保留了元素的自然顺序。import java.awt.Dimension;import java.awt.EventQueue;import java.awt.GridLayout;import java.util.ArrayList;import java.util.List;import java.util.Set;import java.util.TreeSet;import javax.swing.BorderFactory;import javax.swing.DefaultListModel;import javax.swing.JFrame;import javax.swing.JList;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.event.TableModelEvent;import javax.swing.event.TableModelListener;import javax.swing.table.AbstractTableModel;/** see http://stackoverflow.com/a/13919878/230513 */public class CheckTable {private static final CheckModel model new CheckModel(5000);private static final JTable table new JTable(model) {Overridepublic Dimension getPreferredScrollableViewportSize() {return new Dimension(150, 300);}};public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {Overridepublic void run() {JFrame f new JFrame(CheckTable);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setLayout(new GridLayout(1, 0));f.add(new JScrollPane(table));f.add(new DisplayPanel(model));f.pack();f.setLocationRelativeTo(null);f.setVisible(true);}});}private static class DisplayPanel extends JPanel {private DefaultListModel dlm new DefaultListModel();private JList list new JList(dlm);public DisplayPanel(final CheckModel model) {super(new GridLayout());this.setBorder(BorderFactory.createTitledBorder(Checked));this.add(new JScrollPane(list));model.addTableModelListener(new TableModelListener() {Overridepublic void tableChanged(TableModelEvent e) {dlm.removeAllElements();for (Integer integer : model.checked) {dlm.addElement(integer);}}});}}private static class CheckModel extends AbstractTableModel {private final int rows;private List rowList;private Set checked new TreeSet();public CheckModel(int rows) {this.rows rows;rowList new ArrayList(rows);for (int i 0; i rowList.add(Boolean.FALSE);}}Overridepublic int getRowCount() {return rows;}Overridepublic int getColumnCount() {return 2;}Overridepublic String getColumnName(int col) {return Column col;}Overridepublic Object getValueAt(int row, int col) {if (col 0) {return row;} else {return rowList.get(row);}}Overridepublic void setValueAt(Object aValue, int row, int col) {boolean b (Boolean) aValue;rowList.set(row, b);if (b) {checked.add(row);} else {checked.remove(row);}fireTableRowsUpdated(row, row);}Overridepublic Class getColumnClass(int col) {return getValueAt(0, col).getClass();}Overridepublic boolean isCellEditable(int row, int col) {return col 1;}}}