1.类继承 Frame
2.创建控件(得到控件的实例)
3.将控件添加到窗体
5.将动作和控件绑定
控件.add.....
4.动作(创建适配器)
mouse: class MFrame_add_mouseAdapter extends MouseAdapter {调用窗体类的执行方法_相应的动作方法}
action: class MFrame_add_mouseAdapter implement ActionLister {调用窗体类的执行方法}
-----------------------------------
swing 窗体关闭的六种方法
System.exit(0);
Frame.setVisible(true);
Frame.dispose();
-----------------------------------
确认对话框
JOptionPane.showMessageDialog(this, loginMsg, "ERROR",JOptionPane.ERROR_MESSAGE);
对话框类型
JOptionPane.ERROR_MESSAGE
PLAIN_MESSAGE
WARNING_MESSAGE
QUESTION_MESSAGE
INFORMATION_MESSAGE
ERROR_MESSAGE
选择对话框
JOptionPane.showConfirmDialog(this, "关闭", "确定退出 IM ?",JOptionPane.YES_NO_OPTION);
确认对话框类型
DEFAULT_OPTION,
YES_NO_OPTION,
YES_NO_CANCEL_OPTION
OK_CANCEL_OPTION
是 : 0 ; 否 : 1
取消窗体关闭
this.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
if(1)
return ;
else
System.exit(-1);//退出
-----------------------------------
单选钮
设置
setSelected(true);
判断
isSelected();
使控件 获得焦点
txtAddress.requestFocus();
txtAddress.requestFocus(true);
txtAddress.requestFocusInWindow();
修改
查询
分类及其客户
控件的构造 中 可以初始化 控件的 显示文本
支持 html
//按钮上显示红色字体
btnExit.setText("<html><font color='red'>关闭</font>");
-------------
设置鼠标的形状
Cursor cur = new Cursor(Cursor.HAND_CURSOR);
this.lblKehu.setCursor(cur);
按钮上显示 快捷键
button.setText("保存(S)");
button.setMnemonic(KeyEvent.VK_A);//VK_B/VK_C
------
树 右键 获得选择的 节点
JMenuItem item3 = new JMenuItem("删除客户资料");
item3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
TreePath path = jTkehu.getSelectionPath();
if (path == null)
return;
DefaultMutableTreeNode node = (DefaultMutableTreeNode) path
.getLastPathComponent(); // 获得选中节点的内容
}
});
path.getPathCount() // 节点的 层数
CustomerSelf 中定义
public String toString() {
return this.cusName;
}
CustomerSelf cus = (CustomerSelf) tempNode.getUserObject(); // 就可以转换成 对象 ..tempNode (String)
树常用方法
getChild()、getChildCount()、getIndexOfChild() 和isLeaf()。
多个根节点
String[] s1 = { "公司文件", "个人信件", "私人文件" };
String[] s2 = { "本机磁盘(C:)", "本机磁盘(D:)", "本机磁盘(E:)" };
String[] s3 = { "奇摩站", "职棒消息", "网络书店" };
Hashtable ht = new Hashtable();
ht.put("我的公文包", s1);
ht.put("我的电脑", s2);
Hashtable hashtable2 = new Hashtable();
hashtable2.put("网站列表", s3);
ht.put("收藏夹", hashtable2);
ht.put("xxx", "");
JTree tree = new JTree(ht);
-------------------------------
swing skin
//设置窗体皮肤
UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceAutumnLookAndFeel");
//设置对话框的皮肤
JDialog.setDefaultLookAndFeelDecorated(true);
--------------------------
swing 选择文件对话框
获得选择的文件路径
控件实例.getSelectedFile().getPath() ;
-----------------
txtMobile.requestFocus();//控件 获得焦点
结点上添加图片
nodes[0].setIcon(new ImageIcon("Images/header_picture/1.gif"));
svn://192.168.1.253/repos1/server_end/gjl
//可以实现换肤
UIManager.put(SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_PROPERTY,Boolean.TRUE);
UIManager.put(SubstanceLookAndFeel.SHOW_EXTRA_WIDGETS,Boolean.TRUE);
JDialog.setDefaultLookAndFeelDecorated(true);
跨窗体修改 控件的属性
不要实例化对象 (否则修改的不是内存中的相同块。而是重新开辟了一个空间爱你)
可以通过传值
JTable
初始化 表格 使用 构造 。维护两个数组:内容(二维数组),标题(一维数组)
要是标题出现需要 使用 jScrollPane1
文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/java/javajs/20091102/180971.html