㈠ java中保存復選框的值,插入到資料庫中用哪種方法詳細點給分!!!
jsP頁面例子:
<%@ page language="java" pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>無標題文檔</title>
<script>
var check=true;
function check_all(){
if(check==false){
arr = document.getElementsByName("checkbox");
for(i=0;i<arr.length;i++){
arr[i].checked = false
}
check=true;
}
else{
arr = document.getElementsByName("checkbox");
for(i=0;i<arr.length;i++){
arr[i].checked = true
}
check=false;
}
}
</script>
</head>
<body>
<form action="" method=""post >
<input type="checkbox" name="checkbox" value="0" onclick='check_all();'/>
全選 <a href="../xtyhgl/delAllyg.do">刪除</a>
<table width="200" border="1" cellspacing="0" cellpadding="0">
<tr>
<td><input type="checkbox" name="checkbox" value="100001"/></td>
<td>100001</td>
</tr>
<tr>
<td><input type="checkbox" name="checkbox" value="100003"/></td>
<td>100003</td>
</tr>
</table>
</form>
</body>
</html>
Action中代碼:
如果是struts1.2在form類中定義屬性 private String[] checkbox;
並為屬性checkbox提供set和get方法。
如果是struts2 定義屬性 private String[] checkbox;
並為屬性checkbox提供set和get方法。
strust1:在action中獲取form類中的值:String[] checkbox=request.getParameterValues("checkbox");這樣在struts action中就獲取了jsp中checkbox的值,循環取出。
strust2:在action中直接拿String[] checkbox的值,循環取出。
㈡ Java中復選框用JCheckBox類定義對象即可,其中判斷該對象是否被選中,可以通過
isSelected()不可以用於判斷JCheckBox()是否被選中,因為該函數繼承自JButton,只要點擊JCheckBox,該函數就返回true。可以測試如下:
ArrayList<String> rst = new ArrayList<String>();
JCheckBox box = new JCheckBox();
if(box.isSelected()){
rst.add(box.getText());
}可以看出當box被勾掉選中時,rst.add(box.getText())語句照樣執行。
監聽JcheckBox的改變事件,記錄一個boolean變數,隨著改變而切換其值,從而保證與是否選中同步
㈢ java swing如何在JTable一個單元格添加多個復選框
java swing中在jTable中添加多個復選框的方式如下:
importjava.awt.Component;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.*;
importjavax.swing.table.*;
{
//作為測試的main方法
publicstaticvoidmain(String[]args){
newMyFirstJFrame().setVisible(true);
}
/**
*構造方法
*/
publicMyFirstJFrame(){
InitialComponent();
}
/**
*初始化組件的方法
*/
privatevoidInitialComponent(){
//設置窗體參數
//設置布局模式
setLayout(null);
//設置窗體大小
setSize(480,360);
//設置窗體居中(非常規方法)
setLocationRelativeTo(null);
//關閉窗體退出程序
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
//初始化面板
panel=newJPanel();
panel.setSize(this.getWidth(),this.getHeight());
panel.setLocation(0,0);
panel.setLayout(null);
//初始化表格
table=newJTable(newDefaultTableModel(newObject[][]{{"第一行"},{"第二行"},{"第三行"},{"第四行"}},newString[]{"測試行1","測試行2"}){
/*(non-Javadoc)
*重寫方法,判斷表單元格是否可編輯
*可以通過row和column索引判斷某一個單元格是否可編輯
*此處設為都不可編輯
*@seejavax.swing.table.DefaultTableModel#isCellEditable(int,int)
*/
@Override
publicbooleanisCellEditable(introw,intcolumn){
returnfalse;
}
});
//開始向表格中添加復選框(注意:此示例較為簡單,預設很多判斷,也沒有動態代碼支持)
//通過設置列渲染
//方法一:直接方式使用TableColumn的setCellRenderer方法(推薦)
//此方法可以設置某一列的渲染(即使用某一個組件--即控制項來顯示單元格數據)
table.getColumnModel().getColumn(1).setCellRenderer(newTableCellRenderer(){
/*(non-Javadoc)
*此方法用於向方法調用者返回某一單元格的渲染器(即顯示數據的組建--或控制項)
*可以為JCheckBoxJComboBoxJTextArea等
*@seejavax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable,java.lang.Object,boolean,boolean,int,int)
*/
@Override
(JTabletable,
Objectvalue,booleanisSelected,booleanhasFocus,
introw,intcolumn){
//創建用於返回的渲染組件
JCheckBoxck=newJCheckBox();
//使具有焦點的行對應的復選框選中
ck.setSelected(isSelected);
//設置單選box.setSelected(hasFocus);
//使復選框在單元格內居中顯示
ck.setHorizontalAlignment((int)0.5f);
returnck;
}});
//方法二:先設置列編輯器,然後設置單元格渲染
//設置列編輯器
//在以復選框為對象設置列編輯器時,必須保證該列能夠被編輯,否則無法更改狀態
//(此步驟可以省略,省略時不要忘記將列設為不可編輯)
//table.getColumnModel().getColumn(1).setCellEditor(newDefaultCellEditor(newJCheckBox()));
//設置單元格渲染(這里是設置表格級別的渲染)
/*table.setDefaultRenderer(Object.class,newTableCellRenderer(){
@Override
(JTabletable,
Objectvalue,booleanisSelected,booleanhasFocus,
introw,intcolumn){
//判斷是否為需要渲染的列
if(column==1){
//和方法一基本一致
JCheckBoxbox=newJCheckBox();
box.setSelected(isSelected);
//設置單選box.setSelected(hasFocus);
box.setHorizontalAlignment((int)CENTER_ALIGNMENT);//0.5f
returnbox;
}
//如果不是需要渲染的列,封裝文本域顯示數據
returnnewJTextArea(value.toString());
}});*/
//在多選是需要按住Ctrl鍵或者滑鼠按住拖過連續的需要選中的行,應該給用戶說明
//第一種方法是被推薦的,因為它具有選中的高亮顯示,界面能更加友好
table.setSize(panel.getWidth(),panel.getHeight()-90);
table.setLocation(0,0);
btn=newJButton("Test");
btn.setSize(80,40);
btn.setLocation((panel.getWidth())/2-40,panel.getHeight()-80);
//按鈕點擊時顯示當前選中項
btn.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
for(introwindex:table.getSelectedRows()){
JOptionPane.showMessageDialog(null,rowindex+""+table.getValueAt(rowindex,0));
}
}});
panel.add(table);
panel.add(btn);
this.add(panel);
}
//定義一些必要的組件
privateJPanelpanel;
privateJTabletable;
privateJButtonbtn;
}
㈣ java復選框怎麼添加事件
可以通過實現ItemListener介面,如下
{
JCheckBoxchin;
publicJcheckBoxtest(){
super(newBorderLayout());
//創建復選框按鍵,並設置快捷鍵,和選定
chin=newJCheckBox("chin");
//設置一個panel,將復選框放入同一個panel
JPanelcheckPanel=newJPanel(newGridLayout(0,1));
checkPanel.add(chin);
//添加復選框的監聽事件
chin.addItemListener(this);
}
//接受處理復選框點擊事件
@Override
publicvoiditemStateChanged(ItemEvente){
//獲取改變的復選按鍵
Objectsource=e.getItemSelectable();
charc='-';
if(source==chin){
//..進行處理
}
}
}
㈤ java中怎樣判斷復選框是否被選中
復選框 JCheckBox
中有個isSelected() 可以 判斷是否被選中
選中為true
反之則為false