我还在大学学习java,但我想知道将JComponent
放在特定位置并指定其大小的方式或方法。
我已经看过方法setLocation()
和那种方法,但我真的想知道如何在不使用那些布局管理器(流量,网格,边框?)的情况下放置Component
。
以下是我想将这些知识应用于的代码:它们是两个显示相同窗口的重载方法。
public void addWelcome()
{
setWindow();
MaxDimension = new Dimension(WelcomeLabelDimensionWidth,WelcomeLabelDimensionHeight);
getWindow().setMaximumSize(MaxDimension);
MinDimension = new Dimension(WelcomeLabelDimensionWidth,WelcomeLabelDimensionHeight);
getWindow().setMinimumSize(MinDimension);
getWindow().setTitle("Bills");
getWindow().setSize(WindowWidth,WindowHeight);
getWindow().setDefaultCloseOperation(EXIT_ON_CLOSE);
getWindow().setLayout(new GridLayout(5,1,2,0));
getWindow().add(getWelcomeLabel());
getWindow().add(getGreetLabel());
getWindow().add(getDescriptionLabel());
getWindow().add(getInstructionLabel());
getWindow().add(getStartButton());
getWindow().pack();
getWindow().setVisible(true);
}
public void addWelcome(final int Width, final int Height)
{
setWindow();
MaxDimension = new Dimension(Width,Height);
getWindow().setMaximumSize(MaxDimension);
MinDimension = new Dimension(Width,Height);
getWindow().setMinimumSize(MinDimension);
getWindow().setTitle("Bills");
getWindow().setSize(WindowWidth,WindowHeight);
getWindow().setDefaultCloseOperation(EXIT_ON_CLOSE);
getWindow().setLayout(new GridLayout(5,1));
getWindow().add(getWelcomeLabel());
getWindow().add(getGreetLabel());
getWindow().add(getDescriptionLabel());
getWindow().add(getInstructionLabel());
getWindow().add(getStartButton());
getWindow().setVisible(true);
}
如果代码/问题不够明确,请道歉。
提前致谢。
答案 0 :(得分:1)
您可以使用Absolute Layout,这使您负责定位所有内容。请注意,这也几乎不可能创建一个可用于不同屏幕和窗口大小的布局(所以是的,学会使用正确的布局)。
答案 1 :(得分:0)
是布局管理器是最佳解决方案
像eclipse或netbeans这样的IDE可以帮助您轻松地以不同的布局直观地定位组件。
它会自动生成您可以轻松观察和学习的代码。
如果您想自己编码,请在此链接中拥有所有资源 http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html