swingDemo2

package com.tarena.elts.ui;

import java.awt.BorderLayout;
import java.net.URL;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**
 * 菜单窗口
 */
public class MenuFrame extends JFrame {
 public MenuFrame() {
  init();
 }
 /*
  * 初始化界面
  */
 private void init() {
  setTitle("在线评测");
  setSize(600, 400);
  // 居中
  setLocationRelativeTo(null);
  setContentPane(creatContenPane());
 }
 /**
  * 创建主界面
  */
 private JPanel creatContenPane(){
  //以BorderLayOut()作为默认 的布局管理器
  JPanel panel=new JPanel(new BorderLayout());
  //NORTH 图片,URL:统一资源定位
  URL url=this.getClass().getResource("title.png");
  //加载图标
  ImageIcon icon=new ImageIcon(url);
  //在lable里放图片
  panel.add(new JLabel(icon),BorderLayout.NORTH);
  //CENTER 四个菜单按钮
  panel.add(createMenupane(),BorderLayout.CENTER);
  //SOUTH 存放四个Label
  panel.add(new JLabel("版权所有--盗版必究",JLabel.RIGHT),BorderLayout.SOUTH);
  return panel;
 }
 /**
  *创建主面板中间的内容面板
  *其中包含一个JLabel 和四个按钮
  */
private JPanel createMenupane(){
 JPanel panel=new JPanel(new BorderLayout());
 //NORTH 是一个label
 JLabel info=new JLabel("hello",JLabel.CENTER);
 panel.add(info,BorderLayout.NORTH);
 
 //CENTER 四个按钮的panel
 panel.add(creatbtnPane(),BorderLayout.CENTER);
 return panel;
}
/**
 * @return 创建包括四个按钮的面板 panel
 */
private JPanel creatbtnPane(){
 JPanel panel=new JPanel();
 //加载按钮图片
 JButton start=createImgBtn("开始","exam.png");
 JButton result=createImgBtn("分数","result.png");
 JButton msg=createImgBtn("考试规则","message.png");
 JButton exit=createImgBtn("离开","exit.png");
 panel.add(start);
 panel.add(result);
 panel.add(msg);
 panel.add(exit); 
 return panel;
}
/**
 * 创建一个图片按钮
 * @param txt 按钮上的文字
 * @param img图片的标题
 * @return 按钮
 */
private JButton createImgBtn(String txt,String img){
 ImageIcon icon=new ImageIcon(this.getClass().getResource(img));
 JButton button=new JButton(txt,icon);
 //文字在水平的位置
 button.setHorizontalTextPosition(JButton.CENTER);
 //文字在按钮的垂直位置
 button.setVerticalTextPosition(JButton.BOTTOM);
 return button;
}

}

你可能感兴趣的:(swing)