一段比较长java的代码,高手帮我解决几个问题

importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassGroupLayoutUse... import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class GroupLayoutUse extends JFrame{
public GroupLayoutUse(){
super("组布局管理器-查找");
JLabel label1=new JLabel("查找");
JTextField textField1=new JTextField();
JCheckBox cb1=new JCheckBox("区分大小写");
JCheckBox cb2=new JCheckBox("不区分大小写");
JRadioButton rb1=new JRadioButton("向上");
JRadioButton rb2=new JRadioButton("向下");
JButton findButton=new JButton("查找下一个");
JButton cancelButton=new JButton("取消");
Container c=getContentPane();
GroupLayout layout=new GroupLayout(c); 1)这一句怎么解释呢
c.setLayout(layout);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true); 2)括号了的true是什么作用呢
GroupLayout.ParallelGroup hpg2a=layout.createParallelGroup(GroupLayout.Alignment.LEADING); 3)最难懂的一行,什么意思,解释清楚,最好能用一种简单的写法达到同样的效果
hpg2a.addComponent(cb1);
hpg2a.addComponent(cb2); 4)这个看得也不是很明白
GroupLayout.ParallelGroup hpg2b=layout.createParallelGroup(GroupLayout.Alignment.LEADING);
hpg2b.addComponent(rb1);
hpg2b.addComponent(rb2);
GroupLayout.SequentialGroup
hpg2H=layout.createSequentialGroup();
hpg2H.addGroup(hpg2a).addGroup(hpg2b);
GroupLayout.ParallelGroup hpg2=layout.createParallelGroup(GroupLayout.Alignment.LEADING);
hpg2.addComponent(textField1);
hpg2.addGroup(hpg2H);
GroupLayout.ParallelGroup hpg3=layout.createParallelGroup(GroupLayout.Alignment.LEADING);
hpg3.addComponent(findButton);
hpg3.addComponent(cancelButton);
layout.setHorizontalGroup(layout.createSequentialGroup().addComponent(label1).addGroup(hpg2).addGroup(hpg3));
layout.linkSize(SwingConstants.HORIZONTAL,new Component[]{findButton,cancelButton});
GroupLayout.ParallelGroup vpg1=layout.createParallelGroup(GroupLayout.Alignment.BASELINE);
vpg1.addComponent(label1);
vpg1.addComponent(textField1);
vpg1.addComponent(findButton);
GroupLayout.ParallelGroup vpg2=layout.createParallelGroup(GroupLayout.Alignment.CENTER);
vpg2.addComponent(cb1);
vpg2.addComponent(rb1);
vpg2.addComponent(cancelButton);
GroupLayout.ParallelGroup vpg3=layout.createParallelGroup(GroupLayout.Alignment.BASELINE);
vpg3.addComponent(cb2);
vpg3.addComponent(rb2);
layout.setVerticalGroup(layout.createSequentialGroup().addGroup(vpg1).addGroup(vpg2).addGroup(vpg3));
pack();
}
public static void main(String[] args){
GroupLayoutUse app=new GroupLayoutUse();
app.setLocation(200,200);
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setVisible(true);
}
}
展开
 我来答
kmz1111
2011-04-20 · TA获得超过3145个赞
知道小有建树答主
回答量:859
采纳率:0%
帮助的人:326万
展开全部
1.GroupLayout layout=new GroupLayout(c);
创建一个GroupLayout的对象,同时创建时需要以一个Container的对象作为参数

2 layout.setAutoCreateContainerGaps(true);
setAutoCreateContainerGaps(boolean)是用来设置是否应该自动创建容器与触到容器边框的组件之间的间隙,参数是一个boolean值,true代表是,false代表否。

3. GroupLayout.ParallelGroup hpg2a=layout.createParallelGroup(GroupLayout.Alignment.LEADING);
ParallelGroup 是GroupLayout的一个内部类,所以要创建他的实例必须是这样的:GroupLayout.ParallelGroup
createParallelGroup(GroupLayout.Alignment alignment)方法使用 Alignment.LEADING 的对齐方式创建并返回一个 ParallelGroup,Alignment.LEADING是GroupLayout的一个field,在这里以这个作为参数。 这句话就是一个简单的语句,不能再简单里,你看里面虽然有很多点,但其实只有一个层次就相当于 A a = b.c(o);

4. hpg2a.addComponent(cb2);
将 Component 对象作为参数添加到此 Group。就是给GroupLayout.ParallelGroup添加一个cb2组件

总结:你对api很不了解,这些东西都是在api里面可以查到的,所以你应该把api下载下来,放在自己的桌面上随时查阅,学java 的时候api文档是必不可少的工具哦,加油!
littleatp
2011-04-20 · TA获得超过852个赞
知道小有建树答主
回答量:307
采纳率:100%
帮助的人:379万
展开全部
找一本JDK1.6的api手册去看吧,里面关于GroupLayout讲得比较详细
总之就是布局的用法问题。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wang12048
2011-04-21
知道答主
回答量:31
采纳率:0%
帮助的人:21.8万
展开全部
学会使用API
GroupLayout 是一个 LayoutManager,它将组件按层次分组,以决定它们在 Container 中的位置
public void setAutoCreateGaps(boolean autoCreatePadding)设置是否将自动创建组件之间的间隙。例如,如果设为 true 并且向 SequentialGroup 添加了两个组件,则将自动创建这两个组件之间的间隙。默认值为 false。
public GroupLayout.ParallelGroup createParallelGroup()使用 Alignment.LEADING 的对齐方式创建并返回一个 ParallelGroup。此方法是更常用的 createParallelGroup(Alignment) 方法的覆盖方法。
public GroupLayout.ParallelGroup addComponent(Component component)将 Component 添加到此 Group。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
竹书知史
2011-04-21 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:282
采纳率:100%
帮助的人:110万
展开全部
楼主是问那句怎么改成一个可以看懂的传统的写法吧,也就是那就话怎么拆分成另一种形式。PS:学生?
追问
嗯,我刚学没多久,最近百度登不上去了,郁闷,
帮帮我吧,怎么改
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式