Java:组件位置
我尝试将组件放置在面板中,如下所示: 但在我的代码中,它看起来是这样的: 我尝试过不使用Java:组件位置,java,swing,user-interface,awt,Java,Swing,User Interface,Awt,我尝试将组件放置在面板中,如下所示: 但在我的代码中,它看起来是这样的: 我尝试过不使用FlowLayout,但问题是相同的。当我最大化窗口大小时,它将显示在一行中,但当我尝试调整窗口大小时,组件将从边框中移出 你能帮我解决这个问题吗?这是我的密码: CNameLabel=new JLabel("Customer Name"); CNameTextField = new JTextField (20); // create the Customer Name text fi
FlowLayout
,但问题是相同的。当我最大化窗口大小时,它将显示在一行中,但当我尝试调整窗口大小时,组件将从边框中移出
你能帮我解决这个问题吗?这是我的密码:
CNameLabel=new JLabel("Customer Name");
CNameTextField = new JTextField (20); // create the Customer Name text field
CNameTextField.setEditable(true); // set editable text box
CIDLabel=new JLabel("Customer ID");
C_IDTextField = new JTextField (10);
C_IDTextField.setEditable(true); // set editable text box
// Creating and populating the Top Panel
下面的代码用于创建面板、设置面板边框和设置组件的flowlayout:
topPanel=new JPanel();
topPanel.setLayout(new FlowLayout());
topPanel.setBorder(new TitledBorder(new EtchedBorder(), "Customer Data"));
topPanel.add(CNameLabel); topPanel.add(CNameTextField); topPanel.add(CIDLabel);
topPanel.add(C_IDTextField);
roomTypeLabel=new JLabel ("Room Type ");
//Create and populate Room type combo box
roomTypeCombo = new JComboBox();
roomTypeCombo.addItem( "Budget($50)" );
roomTypeCombo.addItem( "Standard($75)" );
roomTypeCombo.addItem( "Executive($200)" );
roomTypeCombo.addItem( "Luxury($400)" );
mealLabel=new JLabel ("Meal ");
//Create and populate Meal type combo box
mealCombo = new JComboBox();
mealCombo.addItem( "None" );
mealCombo.addItem( "Breakfast Only($10)" );
mealCombo.addItem( "Any Two($30)" );
mealCombo.addItem( "All Three($50)" );
daysLabel=new JLabel ("Days");
//Create and populate Days combo box
daysCombo = new JComboBox();
for(int i=0;i<31 ; i++)
{
daysCombo.addItem(i); // populate combobox with days
}
//Adding components to top panel
topPanel.add(roomTypeLabel);
topPanel.add(roomTypeCombo);
topPanel.add(mealLabel);
topPanel.add(mealCombo);
topPanel.add(daysLabel);
topPanel.add(daysCombo);
topPanel=newjpanel();
setLayout(新的FlowLayout());
topPanel.setBorder(新标题边框(新蚀刻边框(),“客户数据”);
topPanel.add(CNameLabel);topPanel.add(CNameTextField);topPanel.add(CIDLabel);
topPanel.add(C_IDTextField);
roomTypeLabel=新的JLabel(“房间类型”);
//创建并填充房间类型组合框
roomTypeCombo=新的JComboBox();
roomTypeCombo.addItem(“预算($50)”);
roomTypeCombo.addItem(“标准($75)”);
roomTypeCombo.addItem(“高管(200美元)”);
roomTypeCombo.addItem(“豪华($400)”);
mealLabel=新的JLabel(“膳食”);
//创建并填充膳食类型组合框
mealCombo=新JComboBox();
mealCombo.addItem(“无”);
mealCombo.addItem(“仅早餐($10)”);
mealCombo.addItem(“任意两个($30)”);
mealCombo.addItem(“全部三个($50)”);
daysLabel=新的JLabel(“天”);
//“创建和填充天数”组合框
daysCombo=newjcombobox();
对于(int i=0;i您可能需要在最后调用pack()。。。。。。。。。
我想如果你想在newline中使用房间类型,你需要使用gridlayout,但不要忘记在最后调用pack()。你可能需要在最后调用pack()。。。。。。。。。
我想如果你想在newline中使用房间类型,那么你就需要使用gridlayout,但最后不要忘记调用pack()。我尝试了一个生成行中所有组件的方法。虽然我想在下一行显示“房间类型、膳食和天数”。我尝试了一个生成行中所有组件的方法。尽管我想要“房间类型、膳食和天数”在下一行。请学习java命名约定并坚持它们。请学习java命名约定并坚持它们。