常用面板

《零基础学Java》


  • 常用面板

    面板也是一个Swing容器,可以作为容器容纳其他组件,但是它必须被添加到其他容器中。Swing中常用的面板有 JPamel面板 和 JScrollPane面板。

  • JPamel面板

    JPamel面板 是一个容器(继承自java.awt.Container类)。JPamel面板可以聚集一些组件来布局,但是必须依赖JFrame窗体使用。

    实例

    import javax.swing.*;
    import java.awt.*;
    
    public class Demo5 extends JFrame {
        public Demo5(){
            setBounds(100,100,500,300);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
    
            Container c = getContentPane();
            c.setLayout(new GridLayout(2,2,10,10));
    
            JPanel p1 = new JPanel();//第一种添加方法
            p1.setLayout(new GridLayout(1,3,10,10));
            JPanel p2 = new JPanel(new BorderLayout());//第二种添加方法
            JPanel p3 = new JPanel(new GridLayout(1,2,10,10));//第三种添加方法
            JPanel p4 = new JPanel(new GridLayout(2,1,10,10));//第四种添加方法
    
            /**
             * 添加边框
             */
            p1.setBorder(BorderFactory.createTitledBorder("面板1"));//添加标题边框
            p2.setBorder(BorderFactory.createTitledBorder("面板2"));//添加标题边框
            p3.setBorder(BorderFactory.createTitledBorder("面板3"));//添加标题边框
            p4.setBorder(BorderFactory.createTitledBorder("面板4"));//添加标题边框
    
            p1.add(new JButton("p1"));//添加按钮
            p1.add(new JButton("p1"));
            p1.add(new JButton("p1"));
            p1.add(new JButton("p1"));
    
            p2.add(new JButton("p2"),BorderLayout.CENTER);//添加边界布局
            p2.add(new JButton("p2"),BorderLayout.SOUTH);
            p2.add(new JButton("p2"),BorderLayout.WEST);
            p2.add(new JButton("p2"),BorderLayout.NORTH);
            p2.add(new JButton("p2"),BorderLayout.EAST);
    
            p3.add(new JButton("p3"));//添加按钮
            p3.add(new JButton("p3"));
    
            p4.add(new JButton("p4"));//添加按钮
            p4.add(new JButton("p4"));
            p4.setBackground(Color.cyan);//设置背景颜色
    
            c.add(p1);
            c.add(p2);
            c.add(p3);
            c.add(p4);
    
            setVisible(true);
        }
    
        public static void main(String[] args) {
            new Demo5();
        }
    }
    
    

    输出结果:

  • JScrollPane滚动面板

    在设置界面时,可能会遇到在一个较小的容器中显示一个较大内容的情况,这时可以使用 JScrollPane面板 。JScrollPane面板 是带滚动条的面板,它也是一种容器,但是 JScrollPane 中只能放置一个组件,并且不可以使用布局管理器。如果需要在 JScrollPane面板 中放置多个组件,需要将多个组件放置在JPanel面板上,然后将JPanel面板作为一个整体组件添加在 JScrollPane组件 上。

实例

import javax.swing.*;
import java.awt.*;

public class Demo6 extends JFrame {
    public Demo6(){
        setBounds(100,100,500,300);
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        Container c = getContentPane();
        JTextArea area = new JTextArea();//创建文本域
        JScrollPane sp = new JScrollPane(area);//创建滚动面板,给文本域添加滚动条
        c.add(sp);//容器添加滚动面板

        setVisible(true);
    }

    public static void main(String[] args) {
        new Demo6();
    }
}

输出结果:

posted on 2022-03-22 13:35  TeaTracing  阅读(66)  评论(0编辑  收藏  举报