代码改变世界

Swing中常用的方法

2013-12-25 10:06  _cha1R  阅读(1199)  评论(0编辑  收藏  举报
1、setLocationRelativeTo(null); //设置窗口居中  
2、setResizable(false);//设置窗口不能最大化  
3、Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取窗口大大小   
Dimension frameSize = frame.getSize();  
if (frameSize.height > screenSize.height) {  
     frameSize.height = screenSize.height;  
}  
if (frameSize.width > screenSize.width) {  
     frameSize.width = screenSize.width;  
}  
frame.setLocation((screenSize.width - frameSize.width) / 2,  
                        (screenSize.height - frameSize.height) / 2);//设置居中显示,setLocation设置位置的方法  
4、setAlwaysOnTop(true);//设置显示在上面..最前端  
5、setUndecorated (true);//设置窗口无边框、关闭按钮  
6、getX(),getY();//获取组件的位置  
7、setSnapToTicks(true);//让滑块自动对齐到标尺  
8、SetHorizontalAlignment(JTextField.RIGHT);//文本输入框右对齐   
9try {  
UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceSaharaLookAndFeel");//其中org.jvnet.substance.skin为包名,SubstanceSaharaLookAndFeel为皮肤类名  
} catch (Exception ex) {  
ex.printStackTrace();//swing设置、使用皮肤包。  
}  
10、JComboBox实现类似js的onchange事件的时候,用addItemListener实现itemStateChanged来监听,但是如果不设置的话是触发2次,代码如下:jcbbox.addItemListener(new ItemListener()  
        {   
            public void itemStateChanged(ItemEvent arg0) {  
                if(arg0.getStateChange() == ItemEvent.SELECTED){//判断选择,加条件则为触发2次。  
                    System.out.println("选择了----"+jcbbox.getSelectedItem().toString());  
                }    
            }   
        });   
11、JScrollPane自动向下滚动  
JTextArea textArea = new JTextArea();   
DefaultCaret caret = (DefaultCaret)textArea.getCaret();   
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);   
12、UIManager的用法,可以设置窗口的皮肤(导入相应的皮肤包,可以找到很多开源的)、设置窗口的字体等。相当的犀利。<a href=http://doc.java.sun.com/DocWeb/api/all/javax.swing.UIManager  
13、JTable合并单元格,看到人家的写法比较好:JTable合并单元格.http://www.cnblogs.com/alanzyy/archive/2011/06/03/2072069.html  
14、设置JPanel为透明:jp.setOpaque(false);  
15、设置JTable的行高:setRowHeight(高度);  
16、设置JTable的列宽:xx.getColumnModel().getColumn(第几列).setPreferredWidth(宽度);     
17、设置JTable的表头可以按名称排序:table.setAutoCreateRowSorter(true);   
18、设置JTable列居中显示:  
DefaultTableCellRenderer cr = new DefaultTableCellRenderer();  
cr.setHorizontalAlignment(JLabel.CENTER);  
table.setDefaultRenderer(Object.class, cr);