2013-04-25 56 views
0

所以即时自学Java并遇到了一些麻烦。对于其中一项练习,下面是我无法理解的说明。任何帮助解释将不胜感激。这是我对我遇到麻烦的部分的尝试。用于GUI应用程序的JPanel

import java.awt.Dimension; 
import java.awt.GridLayout; 
import javax.swing.JButton; 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 
import javax.swing.JTextArea; 

public class ButtonPanel extends JPanel { 


    public ButtonPanel(JButton[] buttons, JTextArea textArea) { 
     //TODO: Create a sub-panel with a 4 row, 3 column GridLayout 

     setLayout(new GridLayout(4,3)); //Layout of subPanel1 

     JButton b1 = new JButton ("A"); 
     JButton b2 = new JButton ("B"); 
     JButton b3 = new JButton ("C"); 
     JButton b4 = new JButton ("1"); 
     JButton b5 = new JButton ("2"); 
     JButton b6 = new JButton ("3"); 
     JButton b7 = new JButton ("X"); 
     JButton b8 = new JButton ("Y"); 
     JButton b9 = new JButton ("Z"); 

     add(b1); 
     add(b2); 
     add(b3); 
     add(b4); 
     add(b4); 
     add(b5); 

     //TODO: Populate the grid with buttons 

     //TODO: Add the grid panel to this panel 

     //TODO: Create a JScrollPane containing textArea 

     JButton cr = new JButton(); 

     //TODO: Set the preferred size of the scroll pane to 80x120 
     setPreferredSize (new Dimension(80, 120)); 

     //TODO: Add the scroll pane to this panel 

    } 


} 
+0

的研究5分钟将清除所有的疑虑 – 2013-04-25 23:01:12

+0

有什么问题的时候? – 2013-04-25 23:02:45

+0

创建JPanel的新实例,将按钮添加到此面板,将此面板添加到父窗格 – MadProgrammer 2013-04-25 23:15:21

回答

1

这是一个基本的概念。

若要将组件添加到容器中,你需要

  1. 创建容器
  2. 应用布局管理器到容器
  3. 添加组件到容器
  4. 容器添加到附着(以某种方式)到顶级容器的父容器

例如

public void ButtonPanel(JButton[] buttons, JTextArea textArea) { 
    //TODO: Create a sub-panel with a 4 row, 3 column GridLayout 

    JPanel buttonPanel = new JPanel(new GridLayout(4,3)); //Layout of subPanel1 

    JButton b1 = new JButton ("A"); 
    JButton b2 = new JButton ("B"); 
    JButton b3 = new JButton ("C"); 
    JButton b4 = new JButton ("1"); 
    JButton b5 = new JButton ("2"); 
    JButton b6 = new JButton ("3"); 
    JButton b7 = new JButton ("X"); 
    JButton b8 = new JButton ("Y"); 
    JButton b9 = new JButton ("Z"); 

    buttonPanel.add(b1); 
    buttonPanel.add(b2); 
    buttonPanel.add(b3); 
    buttonPanel.add(b4); 
    buttonPanel.add(b4); 
    buttonPanel.add(b5); 

    //TODO: Populate the grid with buttons 

    //TODO: Add the grid panel to this panel 

    //TODO: Create a JScrollPane containing textArea 

    JButton cr = new JButton(); 

    //TODO: Set the preferred size of the scroll pane to 80x120 
    // This is a bad idea 
    setPreferredSize (new Dimension(80, 120)); 

    //TODO: Add the scroll pane to this panel 

} 

花点时间通读和理解Creating a UI with Swing