- 子类调用父类方法,方法参数为接口的使用例子:
jpanel.setLayout(new GridLayout(0, 2, 5, 10));//调用JPanel从类 Container中继承的方法public void setLayout(LayoutManager mgr)( setLayout功能:设置此容器的布局管理器。)
LayoutManager是接口 :public interface LayoutManager(功能:定义知道如何布置 Container 类的接口。)
LayoutManager接口中有已实现类,其中包含类 GridLayout(public class GridLayout) - 组件上也可以添加组件
- 接口中除了已实现类,另请参见也要看,如下图
JButton p1 = new JButton(); p1.setBorder(BorderFactory.createLineBorder(Color.red, 3));
p1.add(new JLabel("线边框"));
panel.add(p1);
public class CopyOfMainInterface {
public static void main(String[] args) {
JFrame frame = new JFrame("Swing边框演示")
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
JPanel panel = new JPanel()
panel.setLayout(new GridLayout(0, 2, 5, 10))
panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5))
JButton p1 = new JButton()
JButton p11 =new JButton()
p1.setBorder(BorderFactory.createLineBorder(Color.red, 3))
p1.setLayout(new GridLayout(2 , 2, 1,1))
p1.add(new JLabel("线边框"))
p1.add(p11)
panel.add(p1)
JPanel p2 = new JPanel()
p2.setBorder(BorderFactory.createEtchedBorder())
p2.add(new JLabel("蚀刻边框"))
panel.add(p2)
JPanel p3 = new JPanel()
p3.setBorder(BorderFactory.createRaisedBevelBorder())
p3.add(new JLabel("斜面边框(凸)"))
panel.add(p3)
JPanel p4 = new JPanel()
p4.setBorder(BorderFactory.createLoweredBevelBorder())
p4.add(new JLabel("斜面边框(凹)"))
panel.add(p4)
JPanel p5 = new JPanel()
p5.setBorder(BorderFactory.createTitledBorder("标题"))
p5.add(new JLabel("标题边框"))
panel.add(p5)
JPanel p6 = new JPanel()
TitledBorder tb = BorderFactory.createTitledBorder("标题")
tb.setTitleJustification(TitledBorder.RIGHT)
p6.setBorder(tb)
p6.add(new JLabel("标签边框(右)"))
panel.add(p6)
JPanel p7 = new JPanel()
p7.setBorder(BorderFactory.createMatteBorder(1, 5, 1, 1, Color.yellow))
p7.add(new JLabel("花色边框"))
panel.add(p7)
JPanel p8 = new JPanel()
javax.swing.border.Border b1 = BorderFactory.createLineBorder(Color.blue, 2)
javax.swing.border.Border b2 = BorderFactory.createEtchedBorder()
p8.setBorder(BorderFactory.createCompoundBorder(b1, b2))
p8.add(new JLabel("组合边框"))
panel.add(p8)
JScrollPane scrollPane = new JScrollPane(panel)
scrollPane.setPreferredSize(new Dimension(300, 300))
frame.getContentPane().add(panel)
frame.pack()
frame.setVisible(true)
}
}