2015-08-16 12 views
0

这是我的代码,它会创建一个表单用帆布和它的正常工作:添加其他组件的JFrame用帆布

frame = new JFrame(title); 
     frame.setSize(width, height); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setLocationRelativeTo(null); 
     frame.setResizable(true); 
     frame.setVisible(true); 

     canvas = new Canvas(); 

     canvas.setSize(width, height); 
     canvas.setMinimumSize(new Dimension(width, height)); 
     canvas.setMaximumSize(new Dimension(width, height)); 
     canvas.setFocusable(false); 

     frame.add(canvas); 

但我想添加一些纺纱厂和复选框,所以我决定创建一个ContentPane在框架的左侧(height = Frame.height , width = 100),然后我将我的组件添加到ContentPane

我的问题是:如何将内容窗格添加到框架?

回答

1

默认情况下,JFrame使用BorderLayout作为内容窗格。所以,你可以通过使用类似的代码内容窗格中添加不同的面板:

frame.add(anotherPanel, BorderLayout.LINE_START); 
frame.add(canvas, BorderLayout.CENTER); 

阅读从How to Use BorderLayout Swing的教程部分获取更多信息和工作的例子。

你真的应该使用本教程中的例子作为出发点,因为它们会告诉你如何更好地构造代码。例如:

  1. setVisible(true)应该是最后一条语句之后的所有组件都被添加到GUI应在Event Dispatch Thread创建的框架
  2. 您不应该将AWT组件添加到Swing GUI。画布是一个AWT组件。改用JPanel。