%% 
%%  The LaTeX Graphics Companion, 2ed (first printing May 2007)
%% 
%%  Example 5-12-13 on page 274.
%% 
%%  Copyright (C) 2007 Michel Goossens, Frank Mittelbach, Denis Roegel, Sebastian Rahtz, Herbert Vo\ss 
%% 
%%  It may be distributed and/or modified under the conditions
%%  of the LaTeX Project Public License, either version 1.3
%%  of this license or (at your option) any later version.
%% 
%%  See http://www.latex-project.org/lppl.txt for details.
%% 

\documentclass{ttctexa}
\pagestyle{empty}
\setcounter{page}{6}
\setlength\textwidth{159.83385pt}
\StartShownPreambleCommands
\usepackage{pstricks}
\newcommand\bhBox[2]{%
  \parbox[c][#1][c]{#1}{\makebox[#1]{#2}}}
\newcommand\bhpBox[2]{%
   \parbox[c][#1][c]{#1}{\centering #2}}
\newcommand\bhwpBox[3]{%
   \parbox[c][#2][c]{#1}{\centering #3}}
\StopShownPreambleCommands
\begin{document}
\psframebox{\bhBox{2cm}{Constant width}}
\psframebox{\bhBox{2cm}{and height}}

\smallskip
Or with line breaking and variable height and width:

\psframebox{\bhpBox{2cm}{Constant width and height}}
\psframebox{\bhwpBox{2cm}{3cm}{and variable height}}
\end{document}