java卡片布局

我建立了三个卡片,每个卡片有一个按钮组件,当我再往第一张卡片加入按钮的时候,会显示不出来,只能显示原来加的那一个按钮,这是怎么回事?往第二第三张加的时候就没有这种情况... 我建立了三个卡片,每个卡片有一个按钮组件,当我再往第一张卡片加入按钮的时候,会显示不出来,只能显示原来加的那一个按钮,这是怎么回事?往第二第三张加的时候就没有这种情况 展开
 我来答
塞又晴3e
2014-07-28 · 超过77用户采纳过TA的回答
知道答主
回答量:141
采纳率:77%
帮助的人:68.2万
展开全部
我看了你的程序,帮你改完了,你看看吧。
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.CardLayout;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class NewCardLayout {
public static void main (String[] args){
Frame f = new Frame ("example");
final Panel p=new Panel();
final CardLayout cl=new CardLayout();
p.setLayout(cl);
Panel p1=new Panel();
p1.setLayout(new BorderLayout());
Panel p2=new Panel();
p2.setLayout(new BorderLayout());
Button b1=new Button("one");
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
cl.show(p,"card2");
}
});
p1.add(b1,BorderLayout.CENTER);
Button b2=new Button("two");
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
cl.show(p,"card1");
}
});
p2.add(b2,BorderLayout.CENTER);
p.add(p1, "card1");
p.add(p2, "card2");
f.add(p);
f.setBounds(100,100,250,250);
f.setVisible(true);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
System.exit(0);
}});
}
}
百度网友fe6d0b6
2014-07-28 · TA获得超过275个赞
知道小有建树答主
回答量:397
采纳率:75%
帮助的人:269万
展开全部
因为你没有刷新界面。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风之独韵
2014-07-28 · TA获得超过1304个赞
知道小有建树答主
回答量:179
采纳率:89%
帮助的人:66.4万
展开全部
有没有你写的代码 ,这样改的话快一点!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
剧秋英隐卿
2019-05-07 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:1053万
展开全部
你也可以把面板的布局设置位空布局setLayout(null);然后在设置里面组建的位子大小也就是setBounds();最后添加上去!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式