常用面板
《零基础学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();
}
}