java 应用

来源:互联网 发布:nc工具for windows 编辑:程序博客网 时间:2024/04/28 04:46

  
一、JFrame的相关设置
1、设置frame在任务栏里的小图表
frame.setIconImage(Toolkit.getDefaultToolkit().getImage(("img//exe.gif")));

2、去掉窗口的装饰
frame.setUndecorated(true);
frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);

3、设置框架关闭按钮事件
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

4、将frame居中
frame.pack();          
frame.setLocationRelativeTo(null);    //必须放在pack()后面

5、添加监听器
frame.addMouseListener(监听者);
frame.addMouseMotionListener(监听者);

6、设置默认的本地风格
SetLAF.setNativeLookAndFeel();
SwingUtilities.updateComponentTreeUI(frame);

7、实现frame窗体的拖拽
public void mousePressed(MouseEvent m)
{
mx = m.getX();
my = m.getY();
}

public void mouseMoved(MouseEvent m)
{
}

public void mouseDragged(MouseEvent m)
{
fmx = frame.getX() + m.getX() - mx;
fmy = frame.getY() + m.getY() - my;
frame.setLocation(fmx, fmy);
}

8、实现窗口透明
JDK1.6之前没有透明的接口,通过画图方式来实现窗体透明,
Robot rbt = new Robot();
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension dim = tk.getScreenSize();
background = rbt.createScreenCapture(new Rectangle(0, 0, (int) dim.getWidth(),
(int) dim.getHeight()));

JDK1.6实现相对简单
AWTUtilities.setWindowOpacity(Window, float)

9、窗口事件
frame.addWindowListener(new WindowListener(){
public void windowOpened(WindowEvent e) {              }
public void windowClosing(WindowEvent e) {                }
public void windowClosed(WindowEvent e) {                }
public void windowIconified(WindowEvent e) {               }
public void windowDeiconified(WindowEvent e) {               }
public void windowActivated(WindowEvent e) {                }
public void windowDeactivated(WindowEvent e) {                }
});

10、窗口大小变化时间
frame.addComponentListener(new PanelResziedListener());
class PanelResziedListener implements ComponentListener {
public void componentResized(ComponentEvent e) {         }
public void componentMoved(ComponentEvent e) {           }
public void componentShown(ComponentEvent e) {        }
public void componentHidden(ComponentEvent e) {        }
}