向个为大虾请教:
1。如何修改JFrame或JInternalFrame的标题栏的背景颜色、前景颜色、背景图象?
2。如何实现在JFrame或JInternalFrame的标题栏中添加自己的按钮,删除系统原有的按钮?
3。如何实现当我点击某一JPanel时,该JPanel获取焦点并该JPanel边框边为红色?小弟在此先谢谢各位了!
1。如何修改JFrame或JInternalFrame的标题栏的背景颜色、前景颜色、背景图象?
2。如何实现在JFrame或JInternalFrame的标题栏中添加自己的按钮,删除系统原有的按钮?
3。如何实现当我点击某一JPanel时,该JPanel获取焦点并该JPanel边框边为红色?小弟在此先谢谢各位了!
myPanel.setBorder( BorderFactory.createLineBorder( 颜色, 厚度 ) );以前听说过IBM的IFrame,比较强悍,能自定义外观,标题栏中加控件都成,就不说颜色什么的了,还可以轻松实现不规则窗体。楼主有兴趣可以试试。呵呵。
针对第1、2个问题中的JFrame,一种可行的解决方案就是调用它的setUndecorated( true ),去掉它的窗体修饰,然后自己画个标题栏上去。想怎样画都可以,呵呵。
JInternalFrame也可以采用类似的思路(它没有setUndecorated()方法,可使用getRootPane().setWindowDecorationStyle( JRootPane.NONE )去掉边框)。不过,这玩艺与JFrame不同,不是顶层容器,应该在Swing的源码中有绘制它的代码。楼主有兴趣可以去摸索一下……
重写它的paintComponent()方法,自己画上去.
backgroundImg = ImageIO.read(getClass().getResource(
"UI Mockup 02-1.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
desktopPaneMain = new JDesktopPane() {
public void paintChildren(Graphics g) {
if (backgroundImg != null) {
g.drawImage(backgroundImg, 0, 0, getWidth(), getHeight(),
this);
}
super.paintChildren(g);
} };