2011-07-12 55 views
0

如何添加此畫布的按鈕ontop?像浮動...頂部,而不是使用添加(按鈕)在網格中;如何在Java的畫布內添加此按鈕?

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. 
    } 
} 

回答

3

MigLayout也有,你可以考慮的選擇:

setLayout(new MigLayout("fill", "[grow,fill]")); 
add(canvas); 
add(button, "align 50% 50%"); 

這會浮在按鈕上沒有絕對定位添加其他東西上。看到他們的demo,絕對位置,Glasspane Substitute

4

爲什麼不使用使用Swing而不是AWT。畢竟您正在導入javax.swing。*。然後你會使用JWindow。

如果您希望組件在中心浮動,那麼您應該使用不同的佈局管理器。也許是一個GridBagLayout。

setLayout(new GridBagLayout()); 
add(button, new GridBagConstraints()); 
0

像上一張海報一樣的想法。如果你在畫布後面添加按鈕,那麼按鈕將位於畫布的頂部。你應該記錄你對輕量級和重量級組件的自我認識,因爲那樣你會在這類問題中獲得快速結果。 一個簡單的解釋:http://www.blurtit.com/q132749.html