表格的选择方式.docx
- 文档编号:8487420
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:7
- 大小:23.87KB
表格的选择方式.docx
《表格的选择方式.docx》由会员分享,可在线阅读,更多相关《表格的选择方式.docx(7页珍藏版)》请在冰豆网上搜索。
表格的选择方式
表格的选择模型
packagecom.java2012.swing05;
importjava.awt.BorderLayout;
importjava.awt.Dimension;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjavax.swing.ButtonGroup;
importjavax.swing.JCheckBox;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JRadioButton;
importjavax.swing.JScrollPane;
importjavax.swing.JTable;
importjavax.swing.ListSelectionModel;
importjavax.swing.UIManager;
importjavax.swing.border.EmptyBorder;
importjavax.swing.table.DefaultTableModel;
importjavax.swing.table.JTableHeader;
publicclassTest04extendsJFrame{
//容器
JPanelcontentpane;
//表格
JTabletable;
//复选框
JCheckBoxjcb;
//构造方法
publicTest04(){
try{
//皮膚
UIManager
.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
}catch(Exceptione){
}
addWindowListener(newWindowAdapter(){
@Override
publicvoidwindowActivated(WindowEvente){
//TODOAuto-generatedmethodstub
do_table(e);
}
});
contentpane=newJPanel();
contentpane.setBorder(newEmptyBorder(5,5,5,5));
contentpane.setLayout(newBorderLayout(0,0));
this.add(contentpane);
//面板
JPaneljp1=newJPanel();
contentpane.add(jp1,BorderLayout.SOUTH);
jp1.setLayout(newGridLayout(2,1,5,5));
JPaneljp2=newJPanel();
jp1.add(jp2);
JLabeljl1=newJLabel("行选择方式:
");
jp2.add(jl1);
JRadioButtonjrb1=newJRadioButton("单行");
jrb1.setSelected(true);
JRadioButtonjrb2=newJRadioButton("连续多行");
JRadioButtonjrb3=newJRadioButton("任意多行");
jrb1.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
do_jrb1(e);
}
});
jrb2.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
do_jrb2(e);
}
});
jrb3.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
do_jrb3(e);
}
});
jp2.add(jrb1);
jp2.add(jrb2);
jp2.add(jrb3);
//接钮组
ButtonGroupbg=newButtonGroup();
bg.add(jrb1);
bg.add(jrb2);
bg.add(jrb3);
JPaneljp3=newJPanel();
jcb=newJCheckBox("禁用列选择");
jcb.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
do_jcb(e);
}
});
jp3.add(jcb);
jp1.add(jp3);
//滚动条
JScrollPanejsp=newJScrollPane();
contentpane.add(jsp,BorderLayout.CENTER);
table=newJTable();
//行高
table.setRowHeight(30);
JTableHeaderheard=table.getTableHeader();
heard.setPreferredSize(newDimension(heard.getWidth(),30));
jsp.setViewportView(table);
//标题
this.setTitle("表格的选择模型");
//可见
this.setVisible(true);
//大小及位置
this.setBounds(100,100,450,300);
//退出
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicvoiddo_table(WindowEvente){
//表格数据模型
DefaultTableModeltablemodel=(DefaultTableModel)table.getModel();
//清空数据
tablemodel.setRowCount(0);
//表头内容
tablemodel.setColumnIdentifiers(newObject[]{"书名","出版社","出版时间",
"丛书类别","定价"});
//添加行内容
tablemodel.addRow(newObject[]{"Java编程思想","清华大学","2012-02-03",
"软件工程师","99.00"});
tablemodel.addRow(newObject[]{"JSP编程思想","清华大学","2012-02-04",
"软件工程师","98.00"});
tablemodel.addRow(newObject[]{"SSH编程思想","清华大学","2012-02-05",
"软件工程师","97.00"});
tablemodel.addRow(newObject[]{"PHP编程思想","清华大学","2012-02-06",
"软件工程师","96.00"});
tablemodel.addRow(newObject[]{"Hibernate编程思想","清华大学","2012-02-07",
"软件工程师","95.00"});
tablemodel.addRow(newObject[]{"Spring编程思想","清华大学","2012-02-08",
"软件工程师","94.00"});
tablemodel.addRow(newObject[]{"Struts编程思想","清华大学","2012-02-09",
"软件工程师","93.00"});
tablemodel.addRow(newObject[]{"Oracle编程思想","清华大学","2012-02-12",
"软件工程师","91.00"});
table.setModel(tablemodel);
}
publicvoiddo_jrb1(ActionEvente){
//一次选择一个列表
table.getSelectionModel().setSelectionMode(
ListSelectionModel.SINGLE_SELECTION);
}
publicvoiddo_jrb2(ActionEvente){
//一次选择一个连续的索引范围
table.getSelectionModel().setSelectionMode(
ListSelectionModel.SINGLE_INTERVAL_SELECTION);
}
publicvoiddo_jrb3(ActionEvente){
//一次选择一个或多个连续的索引范围
table.getSelectionModel().setSelectionMode(
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
}
publicvoiddo_jcb(ActionEvente){
if(jcb.isSelected()){
//修改复选框的文本内容
jcb.setText("启动列选择");
//启动列选择
table.setColumnSelectionAllowed(true);
}else{
//修改复选框的文本内容
jcb.setText("禁用列选择");
table.setColumnSelectionAllowed(false);
}
}
publicstaticvoidmain(String[]args){
newTest04();
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 表格 选择 方式