设置对话框为圆角:

//首先选择设置 

 

  JFrame.setDefaultLookAndFeelDecorated(true); 

 

  JDialog.setDefaultLookAndFeelDecorated(true); 

 

  //然后设置,其中login为登陆对话框 

 

  AWTUtilities.setWindowShape(login, new RoundRectangle2D.Double(0.0D,0.0D,login.getWidth(),login.getHeight(),15.0D,15.0D));



对话框居中:


//获取屏幕大小 

 

  Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); 

 

  //设置位置,WIDTH、HEIGHT分别为对话框的宽高 

 

  int HEIGHT=200; 

 

  int WIDTH=300; 

 

  setLocation(screenSize.width/2-WIDTH/2, screenSize.height/2-HEIGHT/2);


初始化系统托盘:


//系统托盘 

 

   private SystemTray tray = null; 

 

  //托盘图标 

 

   private TrayIcon trayIcon = null; 

 

   //托盘图标图像 

 

   private Image icon = null; 

 

   //图标图像路径 

 

   private final String ICON_PATH = "icons/app.png"; 

 

  //系统名称 

 

   private String SYSTEM_NAME = "提醒助手"; 

 
 
 
 

  tray = SystemTray.getSystemTray(); 

 

  ImageIcon imageIcon = new ImageIcon(this.getClass().getClassLoader().getResource(ICON_PATH));  //获得托盘显示图标 

 

  icon=imageIcon.getImage(); //获得Image对象 

 

      

 

  trayIcon=new TrayIcon(icon,SYSTEM_NAME,trayMenu); 

 
trayIcon.setImageAutoSize(true); 
 

      

 
trayIcon.setToolTip(SYSTEM_NAME);
 

 
try{
 
    tray.add(trayIcon);
 
   }catch(AWTException e){
 
    System.out.println("托盘初始化出现故障:" + e.getMessage());
 
    e.printStackTrace();
 
   }






消息提醒框显示在右下角:


 


private JFrame jf;
 
    //JPanel
 
    private JPanel jp;
 
    //超链接
 
    private LinkLabel lb; 
 
    //控制窗口弹出效果的参数
 
    private Integer screenWidth;  // 屏幕宽度
 
    private Integer screenHeight; // 屏幕高度
 
    private Integer windowWidth = 300; // 设置提示窗口宽度
 
    private Integer windowHeight = 150; // 设置提示窗口高度
 
    private Integer bottmToolKitHeight; // 底部任务栏高度,如果没有任务栏则为零
 
    private Integer stayTime = 5000; // 提示框停留时间
 
    private Integer x; // 窗口起始X坐标
 
    private Integer y; // 窗口起始Y坐标
 

 
  //控制窗口弹出效果
 
        bottmToolKitHeight = Toolkit.getDefaultToolkit().getScreenInsets(jf.getGraphicsConfiguration()).bottom;
 
        Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
 
        screenWidth = dimension.width;
 
        screenHeight = dimension.height;
 

 
        x = screenWidth - windowWidth;
 
        y = screenHeight;
 
        jf.setLocation(x, y - bottmToolKitHeight - windowHeight);
 
        jf.setSize(windowWidth, windowHeight);
 
        jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

消息列表,用JTable实现:


private JTable jTable = null;
 
//初始化jtable的数据
 
  Object rowData[][] = new Object[list.size()][4];
 
  for(int i=0;i<list.size();i++){
 
   Message msg = list.get(i);
 
   rowData[i][0]= msg.getMsg();
 
   rowData[i][1]= msg.getTime();
 
   rowData[i][2]= msg.getMsgUrl();
 
   rowData[i][3]= msg.getFrom();
 
  }
 
  Object[] columnNames = new Object[]{"消息内容","接收时间","链接","发送者"};
 

 
//设置jtable不可编辑
 
  TableModel tableModel = new DefaultTableModel(rowData,columnNames){
 

 
   public boolean isCellEditable(int rowIndex,int columnIndex){
 
    return false;
 
   }
 
   
 
  };
 

 
//设置表格单元格当鼠标停留时悬浮显示全部内容
 
jTable = new JTable(tableModel){
 
    @Override
 
    public String getToolTipText(MouseEvent event) {
 
     int row = jTable.rowAtPoint(event.getPoint());
 
     int col = jTable.columnAtPoint(event.getPoint());
 
     String tip=null;
 
     if(row>-1 && col>-1){
 
      Object value = jTable.getValueAt(row, col);
 
      if(null!=value && !"".equals(value)){
 
       tip = value.toString();
 
      }
 
     }
 
     return tip;
 
    }
 
   };
 

 
  int width = 125;
 
  //设置列宽
 
  TableColumnModel tcm = jTable.getColumnModel();
 
  TableColumn tc1 = tcm.getColumn(1);
 
  tc1.setPreferredWidth(width);
 
  tc1.setMaxWidth(width);
 
  tc1.setMinWidth(width);
 
// tc1.setResizable(false);
 
  
 
  TableColumn tc = tcm.getColumn(2);
 
  tc.setMaxWidth(width);
 
  tc.setMinWidth(width);
 
  tc.setPreferredWidth(width);
 
// tc.setResizable(false);
 
  
 
  int width1= 100;
 
  TableColumn tc3 = tcm.getColumn(3);
 
  tc3.setMaxWidth(width1);
 
  tc3.setMinWidth(width1);
 
  tc3.setPreferredWidth(width1);
 
// tc3.setResizable(false);