您的位置:首页 > 编程语言 > Java开发

java swing-5

2013-10-27 15:53 351 查看
流式布局flowlayout,可以通过传参,来制定布局对齐方式和组件水平和垂直的像素值。

jp.setLayout(newFlowLayout(FlowLayout.LEFT));

边界布局borderlayouT包括5个区域,Northsoutheastwestcenter等,注意其构造方法。和为各个块添加控件。窗口大小改变时只有center区域变化。

add("North",newJButton("North"));//为布局添加控件
add("South",newJButton("South"));
add("East",newJButton("East"));
add("West",newJButton("West"));
add("Center",newJButton("Center"));

网格布局,各控件相对位置不变,各组件宽度高度相同。

setLayout(newGridLayout(3,2));
setFont(newFont("Helvetica",Font.PLAIN,14));
add(newJButton("Button1"));.....

卡片布局,就像选牌一样(这些牌都有共享同一区域)注意Applet的用法。importjava.applet.*;
importjava.awt.Button;
importjava.awt.CardLayout;
importjava.awt.Choice;
importjava.awt.Color;
importjava.awt.Component;
importjava.awt.Dimension;
importjava.awt.FlowLayout;
importjava.awt.LayoutManager;
importjava.awt.Panel;
importjava.awt.TextField;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;

publicclassCardDemoextendsAppletimplementsActionListener{

Panelp0,p1,p2,p3;
Choicec1,c2;//下拉列表
Buttonb1,b2,b3,b4;
TextFieldt1,t2;
publicvoidinit(){
p1=newmyPanel1(newColor(0).pink,newFlowLayout(),100,100);
//p1=newmyPanel(newColor(0).red,newFlowLayout(),100,100);
Choicec1=newChoice();
c1.addItem("option1");
c1.addItem("option2");
p1.add(c1);
p2=newmyPanel1(newColor(0).blue,newFlowLayout(),100,100);
//p1=newmyPanel(newColor(0).red,newFlowLayout(),100,100);
Choicec2=newChoice();
c2.addItem("option1");
c2.addItem("option2");
p2.add(c2);
p3=newmyPanel1(newColor(0).cyan,newFlowLayout(),100,100);
//p1=newmyPanel(newColor(0).red,newFlowLayout(),100,100);
Choicec3=newChoice();
c3.addItem("option1");
c3.addItem("option2");
p3.add(c1);
p0=newmyPanel1(newColor(0).white,newCardLayout(0,0),100,100);
setLayout(newFlowLayout());
add(p0);
p0.add("firstcard",p1);
p0.add("secondcard",p2);
p0.add("thirdcard",p3);
add(b1=newButton("card1"));
add(b2=newButton("card2"));
add(b3=newButton("card3"));
add(b4=newButton("你选了哪一个?"));
add(t2=newTextField());
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);

}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==b1){
((CardLayout)p0.getLayout()).show(p0,"firstcard");
}
elseif(e.getSource()==b2){
((CardLayout)p0.getLayout()).show(p0,"secondcard");
}
elseif(e.getSource()==b3){
((CardLayout)p0.getLayout()).show(p0,"thirdcard");
}
elseif(e.getSource()==b4){
Componentc[]=p0.getComponents();
inti=0;
intj=c.length;
while(i<j){
if(c[i].isVisible()){
t2.setText(""+(i+1));
break;
}else{
i++;
}
}
}
}
}

classmyPanel1extendsPanel{
intw;
inth;
publicmyPanel1(Colorcolor,LayoutManagerlayoutManager,intwidth,intheight){
super();//调用父类工作方法。
w=width;
h=height;
setBackground(color);
setLayout(layoutManager);
}
publicDimensiongetMinimumSize(){
returnnewDimension(w,h);
}
publicDimensiongetpreferredSize(){
returnnewDimension(w,h);
}
}

多练习一下。


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: