这是我的原始代码,但不起作用:
//this code is to draw a panel and when you click "start", the Panel p2 changes color
JFrame frm = new JFrame("1");
frm.setBackground(new Color(150,130,110));
frm.setSize(400,300);
frm.setLocation(200,200);
Panel p1=new Panel();
frm.add(p1,BorderLayout.NORTH);
final Panel p2=new Panel();
frm.add(p2,BorderLayout.EAST);
Panel p3=new Panel();
frm.add(p3,BorderLayout.CENTER);
p1.setLayout(b2);
p2.setLayout(b3);
p3.setLayout(g1);
});
Label l1=new Label("max:"+sum);
p2.add(l1,BorderLayout.NORTH);
Label l2=new Label("blood:"+blood);
p2.add(l2,BorderLayout.CENTER);
bu1.setBackground(new Color(200,100,100));
p2.setBackground(new Color(100,200,100));
l1.setBackground(new Color(100,100,200));
frm.setVisible(true);
}
}
我发现如果我能通过改变它来使它工作:
JLabel l1=new JLabel("max:"+sum);
p2.add(l1,BorderLayout.NORTH);
JLabel l2=new JLabel("blood:"+blood);
可以使它工作,所以我想知道为什么?
与
有关 final Panel p2=new Panel();
或者挥杆和awt之间的区别?
答案 0 :(得分:1)
Swing和AWT是完全不同的组件布局。 Swing是一个由java提供的轻量级框架,而AWT更多地依赖于本机库,被认为是#34;重量级"。混合这两个框架几乎总是有问题,这可能是你遇到问题的原因。