我有一個畫布,畫布內部有一個攝像頭。在視頻圖像之上,我想放置一個「按鈕」並附加一個事件,這樣我就可以控制全屏並將其最小化。 但是這種方法給出錯誤,如何解決?如何在畫布中添加按鈕?
public static void main(String[] args)
{
JFrame frame = new JFrame("Overlay");
frame.setBackground(Color.RED);
// Canvas, to have a video and on top a button
final Canvas canvas = new Canvas();
Button button = new Button(canvas); // ERROR
button.setBounds(10,10, 100, 40);
canvas.setPreferredSize(new Dimension(200, 200));
// Layout
JPanel content = new JPanel(new GridLayout(2,2));
content.add(canvas);
content.add(new JButton("test")); // for empty cell
// Show
frame.add(content);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
// Third party tools to capture the webcam, and plugin to our canvas
final Video video = player.getElementByName("gl");
XOverlay.wrap(video).setWindowID(canvas);
}
該錯誤消息是相當說明。這個構造函數不存在。你必須先創建按鈕,然後將其添加到容器(btw畫布不是容器)。而你將swing和awt組件混合在一起。要非常小心你在做什麼。 – Howard 2011-04-24 07:25:18