1.做一个带背景图的窗口
2.在此窗口上叠放一个button和一个Label,我设置了Label所显示的字体
问题是:为什么设置为默认字体(Default或Times New Roman ),窗口正常加载了,而我想设置一些比较漂亮的字体,比如Segoe Script或微软雅黑后,运行时,窗口一定会空白个1-2秒才正常显示。
求大神解答。。。
生成界面如:
代码如下
import java.awt.*;
import javax.swing.*;
import java.awt.Container;
public class demo {
public demo() {
}
public static void main (String[] args) {
JFrame frame=new JFrame("为嘛会卡?");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ImageIcon img = new ImageIcon("F:/images/2.jpg");
//将背景图放在标签里
JLabel imgLabel = new JLabel(img);
//注意这里是关键,将背景标签添加到jfram的LayeredPane面板里
frame.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
//设置背景标签的位置
imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight());
Container cp=frame.getContentPane();
cp.setLayout(new BorderLayout());
//在背景图上叠加控件,加一个button一个带指定文本的标签
JPanel panelContent = new JPanel();
panelContent.setLayout (null);
panelContent.setOpaque(false);
JButton but=new JButton("a");
/*
* -----------------------看过来看过来---------问题就出现在这里------------
* 设置了字体为"Segoe Script",会卡啊!!!但是为嘛Defautl就不卡呢?怎么解决啊
*/
JLabel jl = new JLabel("789");
jl.setFont(new Font("Segoe Script", Font.PLAIN, 20));
jl.setSize(80, 40);
but.setBounds(50,100,50,32);
//---------------------------------------------------------------------
panelContent.add(but);
panelContent.add(jl);
//将多控件面板添加入窗口的内容面板
cp.add(panelContent);
((JPanel)cp).setOpaque(false);
frame.setSize(300,300);
frame.setVisible(true);
}
}
4 个解决方案
#1
测试了一下,没碰到这种情况啊。代码也没什么问题。电脑太慢还是图片太大还是编译环境问题?
#2
真不晓得怎么回事,用的Myeclipse2014和Edipuls 跑的都有问题
一会换台电脑试下
不晓得跟这个有没有关系http://www.cnblogs.com/zcy_soft/archive/2014/01/03/3503656.html
但是我用的还只是JAVA自身支持的字体吧?
但是为什么设默认字体时运行正常???
一会换台电脑试下
不晓得跟这个有没有关系http://www.cnblogs.com/zcy_soft/archive/2014/01/03/3503656.html
但是我用的还只是JAVA自身支持的字体吧?
但是为什么设默认字体时运行正常???
#3
会不会是图片太大了。
#4
不大哦,才50KB ,500*333大小
#1
测试了一下,没碰到这种情况啊。代码也没什么问题。电脑太慢还是图片太大还是编译环境问题?
#2
真不晓得怎么回事,用的Myeclipse2014和Edipuls 跑的都有问题
一会换台电脑试下
不晓得跟这个有没有关系http://www.cnblogs.com/zcy_soft/archive/2014/01/03/3503656.html
但是我用的还只是JAVA自身支持的字体吧?
但是为什么设默认字体时运行正常???
一会换台电脑试下
不晓得跟这个有没有关系http://www.cnblogs.com/zcy_soft/archive/2014/01/03/3503656.html
但是我用的还只是JAVA自身支持的字体吧?
但是为什么设默认字体时运行正常???
#3
会不会是图片太大了。
#4
不大哦,才50KB ,500*333大小