新建一个项目,这里是新建一个应用程序,即
新建的应用程序名:component,主类名:org.netbeans.swing.component
新建一个Jframe Form模板创建Jframe,名:DemoJFrame
DemoJFrame的属性修改:
属性名称 属性值 作用
Title Jframe应用实例 设置该Jframe标题栏中文字
alwaysOnTop true 设置该窗口是否位于最上端
resizable true 是否允许改变该Jframe的大小
添加以下控件
控件类型 控件名称 test属性值 事件类型及名称(注:事件名为控件名称+事件类型)
jLabel jLabelMessage 这里显示属性 无
jList jListSize model属性修改 ValueChanged
jCheckBox jCheckBoxSize 可以更改大小 ItemStateChanged
jCheckBox jCheckBoxOnTop 总在最前面 ItemStateChanged
事件代码:
jCheckBoxSizeItemStateChanged事件:
private void jCheckBoxSizeItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
if(this.jCheckBoxSize.isSelected()){
this.setResizable(true);
this.jListSize.setEnabled(true);
this.jLabelMessage.setText("当前窗口可以改变大小");
} else {
this.setResizable(false);
this.jListSize.setEnabled(false);
this.jLabelMessage.setText("当前窗口不可以改变大小");
}
jCheckBoxOnTopItemChanged事件:
private void jCheckBoxOnTopItemChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
if(this.jCheckBoxOnTop.isSelected()){
this.setAlwaysOnTop(true);
this.jLabelMessage.setText("当前窗口总位于最前面");
} else {
this.setAlwaysOnTop(false);
this.jLabelMessage.setText("当前窗口不是总位于最前面");
}
}
jListSizeValueChanged事件:
private void jListSizeValueChanged(javax.swing.event.ListSelectionEvent evt) {
// TODO add your handling code here:
int frameSize = this.jListSize.getSelectedIndex();
switch(frameSize) {
case 0:
this.setSize(300,200);
this.jLabelMessage.setText("当前窗口的大小为300*200");
break;
case 1:
this.setSize(400,300);
this.jLabelMessage.setText("当前窗口的大小为300*400");
break;
case 2:
this.setSize(650,400);
this.jLabelMessage.setText("当前窗口的大小为650*400");
break;
case 3:
this.setSize(800,600);
this.jLabelMessage.setText("当前窗口的大小为800*600");
break;
}
}
最后运行为: