用于GUI应用程序的JPanel

时间:2013-04-25 22:58:29

标签: java swing jpanel jscrollpane

所以我自己教Java并遇到了一些失误。对于其中一个练习,这里是我无法理解的说明。任何有关解释的帮助将不胜感激。这是我尝试使用我遇到问题的部分。

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

    }


}

1 个答案:

答案 0 :(得分:1)

这是一个基本概念。

要将组件添加到容器,您需要

  1. 创建容器
  2. 将布局管理器应用于该容器
  3. 将组件添加到该容器
  4. 将容器添加到以(以某种方式)连接到顶级容器的父容器
  5. 例如

    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