Liny_@NotePad

沉迷ACG中

为面板(JPanel)添加标题

YOYO posted @ 2008年8月18日 07:56 in 【Java SE】 with tags gui Swing Panel Border , 4943 阅读

需求:用实线把各个面板圈起来,然后把面板的名字写在圈圈的左上角。

示例:

代码:

  1. import java.awt.Toolkit;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4.  
  5. import javax.swing.*;
  6. import javax.swing.border.Border;
  7.  
  8. public class BorderPanel {
  9.  
  10.         /**
  11.          * <p>Description: 需求:用实线把各个面板圈起来,然后把面板的名字写在圈圈的左上角。</p>
  12.          */
  13.         public static void main(String[] args) {
  14.                 MyFrame frm = new MyFrame();
  15.         }
  16.  
  17. }
  18.  
  19. class MyFrame extends JFrame{
  20.  
  21.         public MyFrame(){
  22.                 this.setSize(200,120);      //        设置窗体大小
  23.                 this.setUndecorated(true);            //    不显示标题栏与边框
  24.                 int x = Toolkit.getDefaultToolkit().getScreenSize().width;            //    获取屏幕宽度
  25.                 int y = Toolkit.getDefaultToolkit().getScreenSize().height;          //   获取屏幕高度
  26.                 this.setLocation(x/2,y/2);            //    令窗体居中
  27.                
  28.                 JPanel panel = new JPanel();
  29.                 Border border = BorderFactory.createTitledBorder("面板标题");       //     新建边框
  30.                 panel.setBorder(border);                //      将新建的边框设置为panel的边框
  31.                 this.add(panel);
  32.        
  33.                 JButton btn = new JButton("点击关闭窗体");
  34.                 btn.addActionListener(new ActionListener(){
  35.  
  36.                         public void actionPerformed(ActionEvent e) {
  37.                                 System.exit(0);
  38.                         }
  39.                        
  40.                 });
  41.                 panel.add(btn);
  42.  
  43.                 JLabel description = new JLabel("这是Border的一个使用实例。");
  44.                 panel.add(description);
  45.                
  46.                 JLabel label = new JLabel("(详细见代码说明)");
  47.                 panel.add(label);
  48.                
  49.                 this.setVisible(true);
  50.         }
  51.        
  52. }

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter