在面板中调用BorderLayout方法想把标签lab(“第一关”)显示在中央但是````

出现了这样的情况调用了CENTER却跑到了NORTH去了怎么回事??代码:packageIterface;//importjava.awt.Color;importjav... 出现了这样的情况 调用了CENTER 却跑到了NORTH去了 怎么回事??
代码:
package Iterface;//import java.awt.Color;
import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;//import java.awt.BorderLayout;import java.awt.FlowLayout;
import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;public class MyTank extends JFrame {
/** * */ private static final long serialVersionUID = -2278649648747948624L; private static Thread thread; public void MyTank(){ final JPanel jp = new JPanel(); Container content=this.getContentPane();//获取容器 content.add(jp); //将面板容器获取进来 JMenuBar jmb= new JMenuBar(); //创建菜单 final JLabel lab = new JLabel("第一关"); JMenu jm1 = new JMenu("文件"); jmb.add(jm1); JMenuItem jmI1=new JMenuItem("开始游戏"); jm1.add(jmI1); JMenuItem jmI2=new JMenuItem("暂停游戏"); jm1.add(jmI2); JMenuItem jmI3=new JMenuItem("从新开始"); jm1.add(jmI3); JMenuItem jmI4=new JMenuItem("游戏存档"); jm1.add(jmI4); JMenuItem jmI5=new JMenuItem("退出游戏"); jm1.add(jmI5); JMenu jm2 = new JMenu("查看"); jmb.add(jm2); JMenu jm3 = new JMenu("设置"); jmb.add(jm3); JMenuItem jmI6=new JMenuItem("背景音乐开关"); jm2.add(jmI6); JMenuItem jmI7=new JMenuItem("难度"); jm2.add(jmI7); JMenuItem jmI8=new JMenuItem("控制"); jm2.add(jmI8); JMenu jm4 = new JMenu("帮助"); jmb.add(jm4); JMenu jm5 = new JMenu("背景音乐"); jmb.add(jm5); //把菜单和子菜单添加到容器中去 jp.setLayout(new BorderLayout());//为什么不可以设置在中央呢???? jp.add(lab, BorderLayout.CENTER); //jp.setLayout(new FlowLayout(FlowLayout.CENTER)); //jp.add(lab); //lab.setLayout(new FlowLayout(FlowLayout.CENTER)); lab.setFont(new java.awt.Font( "微软雅黑", 1,36)); setJMenuBar(jmb); //创建一个线程方法 thread = new Thread(new Runnable(){ private int i=0;
public void run() { while( i<=20){ lab.setVisible(true); try { Thread.sleep(1000); lab.setVisible(false); Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } i += 20; if (i == 20) { i = 0; } } } }); thread.start(); //设置容器的属性 setLocation(100,100); setTitle("TankWar"); setVisible(true); setResizable(false); setBounds(200, 300, 1000, 600); jp.setBackground(Color.GREEN); } public static void main(String []args){ MyTank mt=new MyTank(); mt.MyTank(); }
}

求大神讲解!!!!!
展开
 我来答
yugi111
2014-04-06 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
lab.setHorizontalAlignment (JLabel.CENTER);
匿名用户
2014-04-05
展开全部
final JLabel lab = new JLabel("第一关");

对齐方式,选择中心

JLabel(String text,
int horizontalAlignment)
Creates a JLabel instance with the specified
image and horizontal alignment.

第2个参数,JLabel.CENTER
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式