JTable中SelectionModel的一個例子
来源:互联网 发布:淘宝网代理一件代发 编辑:程序博客网 时间:2024/06/05 15:15
package test;
import java.awt.Dimension;
import java.awt.Container;
import java.awt.BorderLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.JTable;
import javax.swing.JLabel;
import javax.swing.ListSelectionModel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JPanel;
import javax.swing.JButton;
public class SelectionModelDemo implements ActionListener,ListSelectionListener{
JTable table = null;
ListSelectionModel selectionModel = null;
JLabel label = null;//顯示用戶選取表格的后的變化
public SelectionModelDemo(){
JFrame frame = new JFrame();
String[] name = {"字段1","字段2","字段3","字段4","字段5"};
String[][] data = new String[5][5];
int value = 1;
for(int i=0;i<data.length;i++){
for(int j=0;j<data[i].length;j++){
data[i][j] = String.valueOf(value++);
}
}
table = new JTable(data,name);
table.setDragEnabled(false);
table.setPreferredScrollableViewportSize(new Dimension(400,80));
table.setCellSelectionEnabled(true);
selectionModel = table.getSelectionModel();
selectionModel.addListSelectionListener(this);
JScrollPane scrollPane = new JScrollPane(table);
JPanel panel = new JPanel();
JButton button = new JButton("單一選擇");
button.addActionListener(this);
panel.add(button);
button = new JButton("連續區間選擇");
button.addActionListener(this);
panel.add(button);
button = new JButton("多重選擇");
button.addActionListener(this);
panel.add(button);
label = new JLabel("您選取:");
Container contentPane = frame.getContentPane();
contentPane.add(panel,BorderLayout.NORTH);
contentPane.add(scrollPane,BorderLayout.CENTER);
contentPane.add(label,BorderLayout.SOUTH);
frame.setTitle("SelectionModelDemo");
frame.pack();
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("單一選擇")){
label.setText("您選取了:" + "");
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}
if(e.getActionCommand().equals("連續區間選擇")){
label.setText("您選取了:" + "");
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION );
}
if(e.getActionCommand().equals("多重選擇")){
label.setText("您選取了:" + "");
selectionModel.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
}
table.revalidate();
}
public void valueChanged(ListSelectionEvent e){
String tempString = "";
int[] rows = table.getSelectedRows();
int[] columns = table.getSelectedColumns();
for(int i=0;i<rows.length;i++){
for(int j=0;j<columns.length;j++){
tempString = tempString + "" + (String)table.getValueAt(rows[i],columns[j]);
}
}
label.setText("您選取了:" + tempString);
}
public static void main(String[] args){
new SelectionModelDemo();
}
}
- JTable中SelectionModel的一個例子
- JTable SelectionModel
- 使用AbstractTableModel構造JTable的一個例子
- 一个JTable的例子
- JTable中顯示圖片的例子
- 关于extjs的SelectionModel
- SelectionModel
- JTree及JTable学习,在JTree中嵌套JTable的例子。
- Java Swing JTable 表格【8:表格使用选择器SelectionModel】
- JTable的实用小例子
- java swing中对于JTable的使用(一)
- Jtable例子
- JTable小例子,表格中使用JComboBox
- 带JCheckBox的JTable的例子
- JTable合计,自己的一个例子
- 一个详细的JTable使用例子
- Java中JTable的用法
- swing中jtable的使用
- Java软件低级错误(十 六):使用包装器对象带来的低效问题
- PB 过期解决方法
- Mac配置docbook工具链
- POJ 1150-The Last Non-zero Digit
- Linux 系统启动流程
- JTable中SelectionModel的一個例子
- Java软件低级错误(十 九):静态变量的初始化问题
- Java软件低级错误(十 一):正确理解Java的浅clone和深clone
- C++学习序列笔记之内联函数
- C++学习序列笔记之函数原型和函数定义
- JRTPLIB 3.5.2手册中文版---part5
- Could not append.Requesting close of hlog
- struts2之防止表单重复提交
- 编程巨星的唯一秘诀