任何正文请建议代码如何告诉JDesktopPane
填写JFrame
Netbeans IDE
中 public ApiGatewayProxyResponse invokeLambda(LambdaService lambda, Object data, Map<String, String> headers)
{
ApiGatewayRequest request = new ApiGatewayRequest();
request.setBody(data);
request.setHeaders(headers);
ApiGatewayProxyResponse response = lambda.execute(request);
return response.getBody();
}
的整个屏幕。
答案 0 :(得分:0)
JFrame
的布局设置为BorderLayout
。将您的JDesktopPane
添加到JFrame的CENTER
区域:
JFrame f = new JFrame();
f.setBounds(50, 50, 500, 400);
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.setLayout(new BorderLayout());
JDesktopPane desktopPane = new JDesktopPane();
f.add(desktopPane, BorderLayout.CENTER);
f.setVisible(true);
魔术来自于BorderLayout
如何管理其子组件的布局。任何添加到CENTER
BorderLayout
区域的内容都将填充从其容器中获取的区域。
如果您希望在JInternalFrame
内最大化JDesktopPane
,则应在setMaximum(true)
添加到基础JDesktopPane
之后调用public class JDesktop {
public static void main(String[] args) {
JFrame f = new JFrame();
f.setBounds(50, 50, 500, 400);
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.setLayout(new BorderLayout());
JInternalFrame internalFrame1 = new JInternalFrame("Internal Frame 1", true, true, true, true);
internalFrame1.setSize(150, 150);
internalFrame1.setVisible(true);
JDesktopPane desktopPane = new JDesktopPane();
desktopPane.add(internalFrame1);
try {
internalFrame1.setMaximum(true);
} catch (PropertyVetoException e) {
e.printStackTrace();
}
f.add(desktopPane, BorderLayout.CENTER);
f.setVisible(true);
}
}
:
JFrame
现在你明白了,了解默认值并不坏。 BorderLayout
的默认布局管理器为JFrame
,当您向CENTER
添加任何内容而未指定该区域的约束时,它将被添加到f.setLayout(new BorderLayout());
区域。所以你可以在代码中省略这些行:
desktopPane
您只需使用以下行添加f.add(desktopPane);
:
{{1}}