
当<input type=radio name=radio_name value=radiobutton(单选框) 是动态加入页面时,它的数量有可能为0,1,或者大于1,因此在js 中需要判断单选框是否选中时,就必须循环判断每个单选框的状态,用var obj=documentgetelementsbyname('audit_result');就可以得到单选框组合,并可通过objlength得到它的长度,这样就不用判断它的数量是0,1,或者大于1
<form name=myform action= method= onsubmit=return check()
<input type=radio name=picno value=1
<input type=radio name=picno value=2
<input type=radio name=picno value=3
<input type=submit value=submit</form
<script language=网页特效
function check(){var flag=0
for(i=0;i<myformpicnolength;i++)
if(myformpicno[i]checked==true){flag=1break}
if(!flag){
alert(请先选择更换的位置)
return false}}
</script方法二<script language=javascript
function checkvalue(){
var obj=documentgetelementsbyname(radio_name);
//alert(objlength);
for (var i=0;i<objlength;i++){
if(obj[i]checked)
return true;}
alert(没有选中!);
return false;}
而用var ovar obj=documentall(radio_name);时,当数量为0或1时,obj就是undefined。
spread 中checkbox的用法
forpoint spreadsheet
列类别选择combo就可以了
spread的帮助文件中间搜索 CellType property, check box cells
//------------------------------------------------------
是这样的,我的webform上放了一个FpSpread控件,我想把行头变成checkbox样式,我的方法是在后台代码中定义:
FarPointWebSpreadCheckBoxCellType celltype = new FarPointWebSpreadCheckBoxCellType();
然后将此type赋给行头:
FpSpread1ActiveSheetViewRowHeaderCells[0,0]CellType=celltype;
我的问题是:1如果我想用一个Button控制当点击Button时,如果CheckBox是选中状态,则在该中显示某某字符,但我不知道这种CheckBox的标识是什么,还有他的状态为选中或没选中返回值是什么?
2还有其他方法吗比如我用
FpSpread1ActiveSheetViewRowHeaderCells[0,0]Text="<Input id=\"nihao\" checked type =\"CheckBox\" />"
遇到的困难和刚才一样。
请问怎么解决,多谢!
FpSpread1columnsheadercells(0,0)text="Check #"
//-------------------------------------------------------------
确定check所在的位置,然后直接判断FpSpread1Sheets(0)Cells(1,6)Value是否为1,为1就是选中状态。我是这样的。
Public Sub SetCOLCheck(spd As vaSpread, ByVal lCol1 As Long, ByVal lCol2 As Long, _
Optional ByVal IsCenter As Boolean = True)
With spd
Col = lCol1
Col2 = lCol2
Row = -1
BlockMode = True
CellType = 10
TypeHAlign = 0
TypeCheckCenter = IsCenter
BlockMode = False
End With
End Sub
我使用的是Spread,是这么填加的
//---------------------------------------------------------
1BorderStyle:调整是否有边框 默认为Fixed3D FixedSingle只有一条线 2location x,y 调整位置
3horizontalScrollBarPolicy 默认为Always横向向滚共条始终存在,就是AsNeeded条数超过显示就存在,否则不显示,Never始终没有滚动条
4verticalScrollBarPolicy 默认为Always纵向滚共条始终存在,就是AsNeeded条数超过显示就存在,否则不显示,Never始终没有滚动条
5Enabled 是否可以编辑
点击Sheets属性旁的按钮就会出现关于Sheets页里面属性的设置
1selectionUnit 默认为Cell运行的时候,点击单元格选中的只是一个单元 Column整列,Row整行
2ColumnCount Spread表示数据的列数
3RowCount Spread表示数据的行数
4OperationMode 主要是MultiSelect,SingleSelect两种的区分SingleSelect只能选一行, MultiSelect可以择多行。
5rows和Column下的Resizable可以将列和行的大小固定为不可调整
AddColumns(Integer i, Integer j)添加列,i是起始位置,j是列数。
AddRows(Integer i, Integer j)添加列,i是起始位置,j是列数。
AddSelection(I,j,k,m)添加选中的cell
ClearRange AddSelection(I,j,k,m,true)清空Spread还有很多常用的方法。就往Spread中放值的方法
1创建对应的DataSource MeFpSpread1_Sheet1()DataSource =objDsTables(0)
MeFpSpread1_Sheet1()Columns(0)DataField = "id"
MeFpSpread1_Sheet1()Columns(1)DataField = "name“
Id,和name是从数据库中查出来得数据结果集中数据表的字段名。
这样从数据库中查出的值就可放在相应的列上了。
2也可单独往单元格中放值
MeFpSpread1_Sheet1Cells(0, 0)Value() = “123”
放值时需要注意的是FpSpread1_Sheet1的起始位置是(0,0)
如果只有4行4列的话是不存在(4,4)这样的Cells的
MeFpSpread1_Sheet1ActiveRowIndex
可以取得选择的行的索引值,从0开始
FpSpread1_Sheet1Cells(FpSpread1_Sheet1ActiveRowIndex, 1)
可以取得选择的行对应单元格的值。
Dim cellButtonType As New FarPointWinSpreadCellTypeButtonCellType
cellButtonTypeText = "Detail"
MeSpdYoteyi_Sheet1ColumnHeaderCellsGet(0, 3)BackColor = SystemDrawingColorFromArgb(CType(255, Byte), CType(255, Byte), CType(192, Byte))
With frmSpdYoteyiSheets(0) ColumnsGet(0)ForeColor = SystemDrawingColorRed
ColumnsGet(3)ForeColor = SystemDrawingColorBlue
SetText(0, 0, "eld001")
SetText(0, 7, "2006/04/20")
SetText(0, 9, "会社AAA")
// 动态添加列。
AddColumns(10, 1)
ColumnsGet(10)Label = "详しい"
ColumnsGet(10)CellType = cellButtonType
End With
// 获得当前选中行
SpdYoteyiActiveSheetActiveRowIndex()
//-------------------------------------------------
关于spread的一些基本 *** 作
对日软件开发,经常会用到spread控件。使用中积累了一些经验,自己总结一下。
1.spread的cell
在spread的设计界面里可以设置cell的各种属性,和用惯的vb差不多。其实它的help写的挺详细的,刚开始日文不好看起来不方便,现在可以顺利理解了。Cell可以是checkbox,文字,数字,时间等等类型,可以只读,可读写,还可以设置背景色,边框等。和excel相像的。
2.Cell的读写模式。
1 只读
① 全体只读
With spdTEMP
Col = 1
Col2 = MaxCols
Row = 1
Row2 = -1 '当spd里数据是0条时,MaxRows会出错。用-1安全。
Protect = True
BlockMode = True
Lock = True
BlockMode = False
End With
②部分只读,设置行和列就可以
With spdTEMP
Col = 2
Col2 = 5
Row = 1
Row2 = 8
Protect = True
BlockMode = True
Lock = True
BlockMode = False
End With
2一般写模式和覆盖写模式
一般写模式:EditMode = True
覆盖写模式:EditModeReplace = True
区别在于 1)光标模式不同,一般写为单个鼠标入力光标,覆盖写已有内容全选,替换输入。
2)当输入带有小数的数字时,覆盖写会自动跳到小数最末位,这可能是spread30在win2000下的bug吧。症状是第一遍输入1023时会变成103,第二遍输入时就好了。试验了很多次,最后不得已换成一般写模式。
3spread的click事件
① 这是一段点击每行第三列时,自动全行copy数据的例子。
Private Sub spdTMSR160_Click(ByVal Col As Long, ByVal Row As Long)
Dim temp As String
Dim i As Integer
If Row = 0 Then Exit Sub
If spdTMSR160Lock = True Then Exit Sub
With spdTMSR160
Col = 3
Col2 = MaxRows
Row = Row
Row2 = Row
If Col = 2 And Value <> "" Then
If MsgBox("3月の予算金额を全ての月にコピーしてもよろしいですか?", vbQuestion + vbYesNo) = vbYes Then
BlockMode = True
temp = Value
For i = 1 To 11
Col = Col + 1: Value = temp
Next
End If
End If
BlockMode = False
End With
End Sub
② 这是一段有选择按钮的例子。选中时行变色,部分cell改变入力状态。
Private Sub spdTMSR020_Click(ByVal Col As Long, ByVal Row As Long)
If Row = 0 Then Exit Sub
' If spdTMSR020Lock = True Then Exit Sub
If Col >= 1 And Col <= 7 Then
With spdTMSR020
Col = 1
Col2 = MaxCols
Row = Row
Row2 = Row
Value = IIf(Value = 0, 1, 0)
BlockMode = True
If Value = 0 Then
' If Row Mod 2 = 0 Then
' BackColor = RGB(245, 236, 233)
' Else
BackColor = RGB(255, 255, 255)
' End If
Col = 8
Col2 = 11
Row = Row
Row2 = Row
Protect = True
Lock = True
Else
BackColor = RGB(128, 255, 128)
Col = 8
Col2 = 11
Row = Row
Row2 = Row
Lock = False
EditMode = True
End If
BlockMode = False
End With
End If
End Sub
spread30的选择按钮很脆弱,一不小心小红钩不见了,事件却没有触发。所以把边上的固定列都设为可选择状态。
4关于背景色的设置。
Backcolor 指定范围,设置背景色
SetOddEvenRowColor,设置奇数,偶数行的颜色。
本来背景色是粉红和白色相间的,但是单行变色判断和全体变色中产生问题,不得不改成全白的。
其根本原因是backcolor比SetOddEvenRowColor要强。Backcolor可以更改SetOddEvenRowColor设置的颜色,而SetOddEvenRowColor却无法改变Backcolor设定的颜色。
而当数据很多时,背景需要刷新时,用backcolor一行一行判断更改,画面会产生剧烈颤抖…
//----------------------------------
序号属性说明
1MaxRows = 10设置总行数为10行
2MaxCols = 5设置总列数为5列
3ColHeaderRows = 2表头(列标题)行数为2
4Row = SpreadHeader定位到表头(列标题)
5Row = -1定位到行头(在设置列格式时使用)
6ColWidth(1) = 16设置第1列的列宽为16
7RowHeight(1) = 12设置第1行的行高为12
8FontSize = 10"设置当前栏位的字体大小为10(如果Row = -1,
则设置整列,下同)"
9TypeHAlign = TypeHAlignRight设置文字水平对齐方式为右对齐
TypeVAlign = TypeVAlignCenter设置文字垂直对齐方式为居中
10CellType = CellTypeNumber设置为数字类型
11TypeNumberDecPlaces = 2设置小数位数
12TypeNumberShowSep = True设置千位分隔
13SetText 2, 3, "test"设置第2列第3行的文本为"test"
14GetText 2, 3, MyText将第2列第3行的值赋给变量MyText
15Row = 3定位到第3行
16Col = 2定位到第2列
17Text = "test"设置当前栏位的文本为"test"
18MyRow = ActiveRow将当前行号赋值给变量MyRow
19InsertRows 2, 1在第2行前插入1行
20DeleteRows 2, 1"在第2行前删除1行(如果Spread是通过设置数据源
取得数据的话,则必须设置DataSource = Nothing
才能删除)"
21InsertCols 2, 1在第2列前插入1列
22DeleteCols 2, 1在第2列前删除1列
23AddCellSpan 3, 4, 2, 1从第3列第4行起合并单元格,跨度为2列1行
24RowHeadersShow = False隐藏行标题
25ColHeadersShow = False隐藏列标题
26PrintMarginLeft = 1000打印时左边距=1000(包括预览)
27PrintMarginTop = 1000打印时上边距=1000(包括预览)
28OperationMode = OperationModeRow设置Spread的 *** 作模式为行定位(共有6种模式)
29DataSource = Rs设置Spread的数据源为Rs记录集
spread 中checkbox的用法
forpoint spreadsheet
列类别选择combo就可以了
spread的帮助文件中间搜索 CellType property, check box cells
//------------------------------------------------------
是这样的,我的webform上放了一个FpSpread控件,我想把行头变成checkbox样式,我的方法是在后台代码中定义:
FarPointWebSpreadCheckBoxCellType celltype = new FarPointWebSpreadCheckBoxCellType();
然后将此type赋给行头:
FpSpread1ActiveSheetViewRowHeaderCells[0,0]CellType=celltype;
我的问题是:1如果我想用一个Button控制当点击Button时,如果CheckBox是选中状态,则在该中显示某某字符,但我不知道这种CheckBox的标识是什么,还有他的状态为选中或没选中返回值是什么?
2还有其他方法吗比如我用
FpSpread1ActiveSheetViewRowHeaderCells[0,0]Text="<Input id=\"nihao\" checked type =\"CheckBox\" />"
遇到的困难和刚才一样。
请问怎么解决,多谢!
FpSpread1columnsheadercells(0,0)text="Check #"
//-------------------------------------------------------------
确定check所在的位置,然后直接判断FpSpread1Sheets(0)Cells(1,6)Value是否为1,为1就是选中状态。我是这样的。
Public Sub SetCOLCheck(spd As vaSpread, ByVal lCol1 As Long, ByVal lCol2 As Long, _
Optional ByVal IsCenter As Boolean = True)
With spd
Col = lCol1
Col2 = lCol2
Row = -1
BlockMode = True
CellType = 10
TypeHAlign = 0
TypeCheckCenter = IsCenter
BlockMode = False
End With
End Sub
我使用的是Spread,是这么填加的
//---------------------------------------------------------
1BorderStyle:调整是否有边框 默认为Fixed3D FixedSingle只有一条线 2location x,y 调整位置
3horizontalScrollBarPolicy 默认为Always横向向滚共条始终存在,就是AsNeeded条数超过显示就存在,否则不显示,Never始终没有滚动条
4verticalScrollBarPolicy 默认为Always纵向滚共条始终存在,就是AsNeeded条数超过显示就存在,否则不显示,Never始终没有滚动条
5Enabled 是否可以编辑
点击Sheets属性旁的按钮就会出现关于Sheets页里面属性的设置
1selectionUnit 默认为Cell运行的时候,点击单元格选中的只是一个单元 Column整列,Row整行
2ColumnCount Spread表示数据的列数
3RowCount Spread表示数据的行数
4OperationMode 主要是MultiSelect,SingleSelect两种的区分SingleSelect只能选一行, MultiSelect可以择多行。
5rows和Column下的Resizable可以将列和行的大小固定为不可调整
AddColumns(Integer i, Integer j)添加列,i是起始位置,j是列数。
AddRows(Integer i, Integer j)添加列,i是起始位置,j是列数。
AddSelection(I,j,k,m)添加选中的cell
ClearRange AddSelection(I,j,k,m,true)清空Spread还有很多常用的方法。就往Spread中放值的方法
1创建对应的DataSource MeFpSpread1_Sheet1()DataSource =objDsTables(0)
MeFpSpread1_Sheet1()Columns(0)DataField = "id"
MeFpSpread1_Sheet1()Columns(1)DataField = "name“
Id,和name是从数据库中查出来得数据结果集中数据表的字段名。
这样从数据库中查出的值就可放在相应的列上了。
2也可单独往单元格中放值
MeFpSpread1_Sheet1Cells(0, 0)Value() = “123”
放值时需要注意的是FpSpread1_Sheet1的起始位置是(0,0)
如果只有4行4列的话是不存在(4,4)这样的Cells的
MeFpSpread1_Sheet1ActiveRowIndex
可以取得选择的行的索引值,从0开始
FpSpread1_Sheet1Cells(FpSpread1_Sheet1ActiveRowIndex, 1)
可以取得选择的行对应单元格的值。
Dim cellButtonType As New FarPointWinSpreadCellTypeButtonCellType
cellButtonTypeText = "Detail"
MeSpdYoteyi_Sheet1ColumnHeaderCellsGet(0, 3)BackColor = SystemDrawingColorFromArgb(CType(255, Byte), CType(255, Byte), CType(192, Byte))
With frmSpdYoteyiSheets(0) ColumnsGet(0)ForeColor = SystemDrawingColorRed
ColumnsGet(3)ForeColor = SystemDrawingColorBlue
SetText(0, 0, "eld001")
SetText(0, 7, "2006/04/20")
SetText(0, 9, "会社AAA")
// 动态添加列。
AddColumns(10, 1)
ColumnsGet(10)Label = "详しい"
ColumnsGet(10)CellType = cellButtonType
End With
// 获得当前选中行
SpdYoteyiActiveSheetActiveRowIndex()
//-------------------------------------------------
关于spread的一些基本 *** 作
对日软件开发,经常会用到spread控件。使用中积累了一些经验,自己总结一下。
1.spread的cell
在spread的设计界面里可以设置cell的各种属性,和用惯的vb差不多。其实它的help写的挺详细的,刚开始日文不好看起来不方便,现在可以顺利理解了。Cell可以是checkbox,文字,数字,时间等等类型,可以只读,可读写,还可以设置背景色,边框等。和excel相像的。
2.Cell的读写模式。
1 只读
① 全体只读
With spdTEMP
Col = 1
Col2 = MaxCols
Row = 1
Row2 = -1 '当spd里数据是0条时,MaxRows会出错。用-1安全。
Protect = True
BlockMode = True
Lock = True
BlockMode = False
End With
②部分只读,设置行和列就可以
With spdTEMP
Col = 2
Col2 = 5
Row = 1
Row2 = 8
Protect = True
BlockMode = True
Lock = True
BlockMode = False
End With
2一般写模式和覆盖写模式
一般写模式:EditMode = True
覆盖写模式:EditModeReplace = True
区别在于 1)光标模式不同,一般写为单个鼠标入力光标,覆盖写已有内容全选,替换输入。
2)当输入带有小数的数字时,覆盖写会自动跳到小数最末位,这可能是spread30在win2000下的bug吧。症状是第一遍输入1023时会变成103,第二遍输入时就好了。试验了很多次,最后不得已换成一般写模式。
3spread的click事件
① 这是一段点击每行第三列时,自动全行copy数据的例子。
Private Sub spdTMSR160_Click(ByVal Col As Long, ByVal Row As Long)
Dim temp As String
Dim i As Integer
If Row = 0 Then Exit Sub
If spdTMSR160Lock = True Then Exit Sub
With spdTMSR160
Col = 3
Col2 = MaxRows
Row = Row
Row2 = Row
If Col = 2 And Value <> "" Then
If MsgBox("3月の予算金额を全ての月にコピーしてもよろしいですか?", vbQuestion + vbYesNo) = vbYes Then
BlockMode = True
temp = Value
For i = 1 To 11
Col = Col + 1: Value = temp
Next
End If
End If
BlockMode = False
End With
End Sub
② 这是一段有选择按钮的例子。选中时行变色,部分cell改变入力状态。
Private Sub spdTMSR020_Click(ByVal Col As Long, ByVal Row As Long)
If Row = 0 Then Exit Sub
' If spdTMSR020Lock = True Then Exit Sub
If Col >= 1 And Col <= 7 Then
With spdTMSR020
Col = 1
Col2 = MaxCols
Row = Row
Row2 = Row
Value = IIf(Value = 0, 1, 0)
BlockMode = True
If Value = 0 Then
' If Row Mod 2 = 0 Then
' BackColor = RGB(245, 236, 233)
' Else
BackColor = RGB(255, 255, 255)
' End If
Col = 8
Col2 = 11
Row = Row
Row2 = Row
Protect = True
Lock = True
Else
BackColor = RGB(128, 255, 128)
Col = 8
Col2 = 11
Row = Row
Row2 = Row
Lock = False
EditMode = True
End If
BlockMode = False
End With
End If
End Sub
spread30的选择按钮很脆弱,一不小心小红钩不见了,事件却没有触发。所以把边上的固定列都设为可选择状态。
4关于背景色的设置。
Backcolor 指定范围,设置背景色
SetOddEvenRowColor,设置奇数,偶数行的颜色。
本来背景色是粉红和白色相间的,但是单行变色判断和全体变色中产生问题,不得不改成全白的。
其根本原因是backcolor比SetOddEvenRowColor要强。Backcolor可以更改SetOddEvenRowColor设置的颜色,而SetOddEvenRowColor却无法改变Backcolor设定的颜色。
而当数据很多时,背景需要刷新时,用backcolor一行一行判断更改,画面会产生剧烈颤抖…
//----------------------------------
序号属性说明
1MaxRows = 10设置总行数为10行
2MaxCols = 5设置总列数为5列
3ColHeaderRows = 2表头(列标题)行数为2
4Row = SpreadHeader定位到表头(列标题)
5Row = -1定位到行头(在设置列格式时使用)
6ColWidth(1) = 16设置第1列的列宽为16
7RowHeight(1) = 12设置第1行的行高为12
8FontSize = 10"设置当前栏位的字体大小为10(如果Row = -1,
则设置整列,下同)"
9TypeHAlign = TypeHAlignRight设置文字水平对齐方式为右对齐
TypeVAlign = TypeVAlignCenter设置文字垂直对齐方式为居中
10CellType = CellTypeNumber设置为数字类型
11TypeNumberDecPlaces = 2设置小数位数
12TypeNumberShowSep = True设置千位分隔
13SetText 2, 3, "test"设置第2列第3行的文本为"test"
14GetText 2, 3, MyText将第2列第3行的值赋给变量MyText
15Row = 3定位到第3行
16Col = 2定位到第2列
17Text = "test"设置当前栏位的文本为"test"
18MyRow = ActiveRow将当前行号赋值给变量MyRow
19InsertRows 2, 1在第2行前插入1行
20DeleteRows 2, 1"在第2行前删除1行(如果Spread是通过设置数据源
取得数据的话,则必须设置DataSource = Nothing
才能删除)"
21InsertCols 2, 1在第2列前插入1列
22DeleteCols 2, 1在第2列前删除1列
23AddCellSpan 3, 4, 2, 1从第3列第4行起合并单元格,跨度为2列1行
24RowHeadersShow = False隐藏行标题
25ColHeadersShow = False隐藏列标题
26PrintMarginLeft = 1000打印时左边距=1000(包括预览)
27PrintMarginTop = 1000打印时上边距=1000(包括预览)
28OperationMode = OperationModeRow设置Spread的 *** 作模式为行定位(共有6种模式)
29DataSource = Rs设置Spread的数据源为Rs记录集
要使用JavaScript选择单选按钮的状态,需要选中单选按钮对象的checked属性,本篇文章介绍的就是使用JavaScript获取单选按钮的选择状态的方法。
可以从名称获取文本框和复选框的控件,但是对于单选按钮,如果将其设置为相同的单选按钮组,则不能使用从名称获取,因为名称的值相同。我们将从之前介绍的ID中检查选择状态。
我觉得如果使用Swing开发程序,你必须学会使用BeansBinding。BeansBinding能够将JavaBean的属性值绑定在一起。比如说有两个Bean,一个是你的数据Model,一个是JCheckbox。那么,你可以将JcheckBox的selected属性绑定到数据Model的一个属性上。这样,无特殊需要的多数情况下你就不必去关心JCheckBox是否被勾选,只需要关心数据Model的状态了。
使用BeansBinding,你必须引入appframework和beansbinding两个包。具体的下载,你可以到Maven库中查询并下载(google “maven repos”就能找到很多Maven库了)。
举个简单的例子
import javaxswingJFrame;
import orgjdesktopbeansbindingBeanProperty;
import orgjdesktopbeansbindingBinding;
import orgjdesktopbeansbindingBindingGroup;
import orgjdesktopbeansbindingBindings;
import orgjdesktopbeansbindingAutoBindingUpdateStrategy;
import javaxswingJPanel;
import javaawtBorderLayout;
import javaawtGridLayout;
import javaawteventActionEvent;
import javaawteventActionListener;
import javaxswingJButton;
import javaxswingJLabel;
import javaxswingJOptionPane;
import javaxswingJTextField;
import javaxswingJCheckBox;
public class Swing8{
/
一个非常简单的JavaBean,POJO。当作数据Model
/
public class Computer{
private boolean huihuai; // 是否坏了
private String pinpai; // 品牌
private String huihuaiyuanyin; // 毁坏原因
private String yonghu; // 谁的电脑
public boolean isHuihuai() {
return huihuai;
}
public void setHuihuai(boolean huihuai) {
thishuihuai = huihuai;
}
public String getPinpai() {
return pinpai;
}
public void setPinpai(String pinpai) {
thispinpai = pinpai;
}
public String getHuihuaiyuanyin() {
return huihuaiyuanyin;
}
public void setHuihuaiyuanyin(String huihuaiyuanyin) {
thishuihuaiyuanyin = huihuaiyuanyin;
}
public String getYonghu() {
return yonghu;
}
public void setYonghu(String yonghu) {
thisyonghu = yonghu;
}
public String toString(){
return "Computer当前属性值是:\n" +
"yonghu: " + yonghu + "\n" +
"pinpai: " + pinpai + "\n" +
"huihuai: " + huihuai + "\n" +
"huihuaiyuanyin: " + huihuaiyuanyin;
}
}
public Swing8(){
// 创建一个Frame
final JFrame frame = new JFrame("BeansBinding 示例");
framesetBounds(100, 100, 500, 380);
final JPanel panel = new JPanel();
framegetContentPane()add(panel, BorderLayoutCENTER);
panelsetLayout(new GridLayout(4, 2, 2, 2));
JLabel label = new JLabel("谁的电脑:");
paneladd(label);
final JTextField ut; // 用户
final JTextField bt; // 品牌
final JCheckBox cb; // 是否坏了
final JTextField rt; // 毁坏原因
final Computer c = new Computer(); // 创建一个Model
ut = new JTextField();
paneladd(ut);
utsetColumns(10);
JLabel label_1 = new JLabel("电脑品牌:");
paneladd(label_1);
bt = new JTextField();
paneladd(bt);
btsetColumns(10);
cb = new JCheckBox("是否坏了");
paneladd(cb);
JLabel label_2 = new JLabel("");
paneladd(label_2);
JLabel label_3 = new JLabel("毁坏原因:");
paneladd(label_3);
rt = new JTextField();
paneladd(rt);
rtsetColumns(10);
// 绑定属性
BindingGroup bg = new BindingGroup(); // 绑定组,绑定的内容都要在绑定组中。
// 使用BindingscreateAutoBinding静态方法创建一个绑定实例。
// UpdateStrategyREAD_WRITE 绑定策略,读写
// ut 绑定源对象
// BeanPropertycreate("text") 绑定源的属性
// c 绑定目标对象
// BeanPropertycreate("yonghu") 绑定目标属性
// 将ut的text属性绑定到c的yonghu属性上。
Binding userBind = BindingscreateAutoBinding(UpdateStrategyREAD_WRITE, ut, BeanPropertycreate("text"), c, BeanPropertycreate("yonghu"));
// 将绑定实例放入绑定组。
bgaddBinding(userBind);
// 下面的类似,不再详细写
// uttext -> cpinpai
bgaddBinding(BindingscreateAutoBinding(UpdateStrategyREAD_WRITE, bt, BeanPropertycreate("text"), c, BeanPropertycreate("pinpai")));
// rttext -> chuihuaiyuanyin
bgaddBinding(BindingscreateAutoBinding(UpdateStrategyREAD_WRITE, rt, BeanPropertycreate("text"), c, BeanPropertycreate("huihuaiyuanyin")));
// cbselected -> chuihuai
bgaddBinding(BindingscreateAutoBinding(UpdateStrategyREAD_WRITE, cb, BeanPropertycreate("selected"), c, BeanPropertycreate("huihuai")));
// 若程序有需求,只有当勾选了“是否坏了”CheckBox,才能输入"毁坏原因",怎么办?
// 好办,将cbselected绑定到rt的enabled属性上。
bgaddBinding(BindingscreateAutoBinding(UpdateStrategyREAD_WRITE, cb, BeanPropertycreate("selected"), rt, BeanPropertycreate("enabled")));
// 重要的一句话,让版定生效
bgbind();
//好吧,我们再加一个按钮,看看效果如何。
JButton button = new JButton("查看绑定效果");
buttonaddActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPaneshowMessageDialog(frame, ctoString(), "Model属性值列表", JOptionPaneINFORMATION_MESSAGE);
}
});
framegetContentPane()add(button, BorderLayoutSOUTH);
framesetVisible(true);
}
public static void main(String args[]){
new Swing8();
}
}
(1)input的checked是一个html属性,checked的值没有意义,只不过各个版本对HTML的属性值写法规定不同才有了checked="value"这种写法,只要有checked就表示页面在加载的时候checkbox被选中,没有写就页面加载的时候checkbox就不被选中。
以上就是关于js判断单选框是否选中状态代码全部的内容,包括:js判断单选框是否选中状态代码、如何获得fpspread中三种状态的复选框单元格的值、如何获得fpspread中三种状态的复选框单元格等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)