Java 如何";“包装”;JFrame中的JPanel?
首先,我已经检查了相关的问题,但无法使其工作 现在,我的问题是: 我有一个JFrame,里面包含一个动态绘制的JPanel。现在,当我画这个面板时,它占据了整个屏幕,并扩散到边缘。我在面板上使用了BoxLayout.Y_轴 我是如何做到这一点的 我已经附上了截图: 我得到的: 我想要什么: 编辑:添加源代码(最小化,非实际)Java 如何";“包装”;JFrame中的JPanel?,java,swing,jframe,panel,Java,Swing,Jframe,Panel,首先,我已经检查了相关的问题,但无法使其工作 现在,我的问题是: 我有一个JFrame,里面包含一个动态绘制的JPanel。现在,当我画这个面板时,它占据了整个屏幕,并扩散到边缘。我在面板上使用了BoxLayout.Y_轴 我是如何做到这一点的 我已经附上了截图: 我得到的: 我想要什么: 编辑:添加源代码(最小化,非实际) 方法pack()根据 a) 已使用LayoutManager 及 b) Size/PrefereredSize 从当前组件的层次结构中的所有元素检索 BoxLayou
- 方法
根据 a) 已使用pack()
及 b)LayoutManager
从当前Size/PrefereredSize
组件的层次结构中的所有元素检索
默认接受BoxLayout
,请注意,对于每个Size/PrefereredSize
,此属性的实现可能不同LayoutManager
public class DialogReportsMain extends JDialog implements ActionListener
{
public DialogReportsMain(JFrame mParent, boolean isModal)
{
/*******************************************/
setLayout(new BorderLayout(0, 0));
/***************************************/
addNorthContent(this);
addWestContent(this);
addSouthContent(this);
/***************************************/
JPanel mOrderHeaderContainer = new JPanel();
mOrderHeaderContainer.setLayout(new BoxLayout(mOrderHeaderContainer, BoxLayout.Y_AXIS));
/***************************************/
// Table Number
JLabel mLabelTableNumber = new JLabel("Table: "
+ new Integer(mOrderDetails.mTableNumber).toString());
mOrderHeaderContainer.add(mLabelTableNumber);
/***************************************/
// Dates
JPanel mPanelDates = new JPanel();
mPanelDates.setLayout(new GridLayout(1, 2, 20, 0));
JLabel mLabelReceivedDateTime = new JLabel(mOrderDetails.mReceivedDateTime);
mPanelDates.add(mLabelReceivedDateTime);
JLabel mLabelBillDateTime = new JLabel(mOrderDetails.mBillDateTime);
mPanelDates.add(mLabelBillDateTime);
mOrderHeaderContainer.add(mPanelDates);
/***************************************/
// Waiter Details
JLabel mLabelWaiterDetails = new JLabel("Waiter: "
+ new Integer(mOrderDetails.mWaiterId).toString()
+ " ("
+ mOrderDetails.mWaiterName
+ " )"
);
mOrderHeaderContainer.add(mLabelWaiterDetails);
/***************************************/
// Blank Lines
mOrderHeaderContainer.add(new JLabel());
mOrderHeaderContainer.add(new JLabel());
/***************************************/
add(mOrderHeaderContainer, BorderLayout.CENTER);
/*******************************************/
setTitle("Reports");
setModalityType(ModalityType.MODELESS);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setResizable(true);
setMinimumSize(new Dimension(100, 400));
makeDialogFullScreen(this);
setLocationRelativeTo(null);
}
}