如何在此画布上添加按钮?比如浮动......而不是使用添加(按钮)在网格中使用它;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Myscreensaver extends Window
{
private static final Canvas canvas = new Canvas();
private Button button;
public Myscreensaver()
{
setLayout(new GridLayout(2,2));
canvas.setPreferredSize(new Dimension(200, 200));
add(canvas);
//add(button); no add the button in the canvas not in the grid, then it looks odd.
}
}
答案 0 :(得分:4)
为什么不使用Swing代替AWT。毕竟你导入javax.swing。*。然后你会使用JWindow。
如果您希望组件在中心浮动,那么您应该使用不同的布局管理器。也许是GridBagLayout。
setLayout( new GridBagLayout() );
add(button, new GridBagConstraints());
答案 1 :(得分:3)
MigLayout还有一个您可以考虑的选项:
setLayout(new MigLayout("fill", "[grow,fill]"));
add(canvas);
add(button, "align 50% 50%");
这将使按钮浮动在没有绝对定位的任何其他内容的顶部。见他们的demo,绝对位置,Glasspane替补
答案 2 :(得分:0)
和上一张海报一样。如果你在画布后添加按钮,按钮将位于画布的顶部。你应该记录你自己关于轻量级和重量级的组件,因为那样你就会在这种问题上得到快速的结果。 一个简单的解释:http://www.blurtit.com/q132749.html