一、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) { }
}
java 应用
最新推荐文章于 2024-09-08 11:09:43 发布