2015-02-07 208 views
1
public UserInterface(){ 
    super(new BorderLayout()); 
    fc = new JFileChooser(); 
    setComponents();   
} 

public void setComponents(){ 
    //top section 
    openButton = new JButton("Charger fichier"); 
    openButton.addActionListener(this);  
    JPanel buttonPanel = new JPanel(); 
    buttonPanel.add(openButton); 
    //left section 
    //class panel 
    JPanel classe = new JPanel(); 
    classes = new JTextArea(25,15); 
    classes.setMargin(new Insets(5,5,5,5)); 
    classes.setEditable(false); 
    JScrollPane classeScrollPane = new JScrollPane(classes); 
    classe.setBorder(new TitledBorder("Classes")); 
    classe.add(classeScrollPane); 

    //right section 
    JPanel right = new JPanel(new BorderLayout()); 
    JPanel right_top = new JPanel(new GridLayout(2,2)); 
    //attribut panel 
    JPanel attribut = new JPanel(); 
    attributs = new JTextArea(8,19); 
    attributs.setMargin(new Insets(5,5,5,5)); 
    attributs.setEditable(false); 
    JScrollPane attributScrollPane = new JScrollPane(attributs); 
    attribut.setBorder(new TitledBorder("Attributs")); 
    attribut.add(attributScrollPane); 
    //function panel 
    JPanel methode = new JPanel(); 
    methodes = new JTextArea(8,19); 
    methodes.setMargin(new Insets(5,5,5,5)); 
    methodes.setEditable(false); 
    JScrollPane methodeScrollPane = new JScrollPane(methodes); 
    methode.setBorder(new TitledBorder("Methodes")); 
    methode.add(methodeScrollPane); 
    //subclass panel 
    JPanel sousclasse = new JPanel(); 
    sousclasses = new JTextArea(8,19); 
    methodes.setMargin(new Insets(5,5,5,5)); 
    methodes.setEditable(false); 
    JScrollPane sousclasseScrollPane = new JScrollPane(sousclasses); 
    sousclasse.setBorder(new TitledBorder("Sous-classes")); 
    sousclasse.add(sousclasseScrollPane); 
    //relation panel 
    JPanel relation = new JPanel(); 
    relations = new JTextArea(8,19); 
    relations.setMargin(new Insets(5,5,5,5)); 
    relations.setEditable(false); 
    JScrollPane relationScrollPane = new JScrollPane(relations); 
    relation.setBorder(new TitledBorder("Relations")); 
    relation.add(relationScrollPane); 

    right_top.add(attribut); 
    right_top.add(methode); 
    right_top.add(sousclasse); 
    right_top.add(relation); 

    //detail panel 
    JPanel detail = new JPanel(); 
    details = new JTextArea(5,40); 
    details.setMargin(new Insets(5,5,5,5)); 
    details.setEditable(false); 
    JScrollPane detailScrollPane = new JScrollPane(details); 
    detail.setBorder(new TitledBorder("Détails")); 
    detail.add(detailScrollPane); 

    right.add(right_top,BorderLayout.CENTER); 
    right.add(detail,BorderLayout.SOUTH); 

    add(buttonPanel, BorderLayout.NORTH); 
    add(classe, BorderLayout.WEST); 
    add(right, BorderLayout.CENTER); 
} 

从代码创建上面的布局是: http://i.imgur.com/tO7TW90.pngJTextArea中具有相同的参数,但不相同的尺寸

可以看到的“sousclass”面板比其他的JTextArea用同样的参数更小的文本区域(8 ,19)。有谁能告诉我为什么?

此外,假设我有一些数据,我想在课堂部分显示班级名称,一旦我点击其中一个班,它显示attribut部分该班的attributs,我怎么能实现这个功能?谢谢。

回答

1
JPanel sousclasse = new JPanel(); 
sousclasses = new JTextArea(8,19); 
methodes.setMargin(new Insets(5,5,5,5)); // wrong variable 
methodes.setEditable(false); // wrong variable 

你没有设置文本区域的空白。您正在使用错误的变量名称。

+0

对,这样简单的错误....非常感谢。你对我的第二个问题有答案吗? – BroLegend 2015-02-08 05:48:05

相关问题