static final class MyFrame extends JFrame {
private CardLayout layout = new CardLayout();
public MyFrame() {
setLayout(layout);
System.out.println(getLayout());
}
}
java.awt.BorderLayout[hgap=0,vgap=0]
setLayout(layout);
getContentPane().setLayout(layout)
未设置布局:
public class Main {
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
MyFrame frame = new MyFrame();
frame.setVisible(true);
});
}
static final class MyFrame extends JFrame {
private CardLayout layout = new CardLayout();
public MyFrame() {
setLayout(layout);
System.out.println(getLayout());
}
}
}
设置布局:
public class Main {
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
MyFrame frame = new MyFrame();
frame.setVisible(true);
});
}
static final class MyFrame extends JFrame {
private CardLayout layout = new CardLayout();
public MyFrame() {
getContentPane().setLayout(layout);
System.out.println(getLayout());
}
}
}
我想你在什么地方漏掉了什么。下面是在我的pc上使用eclipse和java-8的结果
setLayout(layout);
System.out.println(getContentPane().getLayout()); // CardLayout is printed
System.out.println(getLayout()); // BorderLayout is printed
getContentPane().setLayout(layout);
System.out.println(getContentPane().getLayout()); // CardLayout is printed
System.out.println(getLayout()); // BorderLayout is printed
因为与JFrame#setLayout(LayoutManager)
不同,JFrame#getLayout()
不调用其ContentPane()
。
事实上,JFrame#getLayout()
实际上是从容器#getLayout()
继承的,它将从实际组件返回实际的LayoutManager
(在本例中是JFrame
,而不是它的ContentPane()
)。
我有密码 在我的主要方法中 如果我运行程序,我会得到输出: 如果我取消注释setLayout,我会得到输出: 两个问题: 为什么在第一种情况下没有按预期工作?我不应该看到整个圆而不是它的一半吗? 为什么椭圆形在第二个输出中变成了三角形?
有人能说出为什么组合框没有显示?我有一个控制器: 和视图 由于TestController中的setLayout(null),我看不到组合框。如果我将add(cgview.comboBox)添加到我的TestContoller()中,使其看起来如下所示: 比我能看到的还要多。有人能说出原因吗? 所以我的解决方案是始终在TestController中添加组件,或者将TestController作为a
我想在地图上显示许多不同的标签,所以我在面板中使用null布局,并为每个标签调用setLocation。但是,由于某些原因,标签没有显示出来。如果我把锅拿开。setLayout(null),则标签显示在面板的顶部中心。为什么null布局不能与setPosition一起工作?
问题内容: 有人可以告诉我为什么组合框不显示吗?我有一个控制器: 和一个观点 由于TestController中的 setLayout(null) ,我看不到comboBox。如果我将 add(cgView.comboBox)添加 到TestContoller()中,则它看起来像这样: 比我能看到的。有人可以告诉为什么吗? 因此,我的解决方案是始终将组件添加到TestController中,或通过
我试图在linux中从systemd服务启动一个jar。我正在执行的jar假设在当前目录中有一个xml文件。我正在传递该文件的名称,并带有-config参数。我创建的示例服务如下: <代码>[单元]描述=我的服务后=网络。目标 上面的服务文件位于/usr/lib/systemd/system目录中,称为myservice。服务我正在执行以下命令来启动它: systemctl守护程序重新加载syst
问题内容: 我目前正在使用Play!1.2.2及其新的Netty客户端框架。 尽管可以使HTTP和HTTPS异步提供服务,但我没有找到一种简单的方法来强制执行SSL。有没有与Play合作的人!有直接执行SSL的方法吗?不知道我是否需要创建重定向,或者是否可以在文件中快速解决此问题。 问题答案: 有两种方法可以强制实施SSL。 首先,您可以将所有操作设置为使用该方法,例如 另一种可能也是最好的方法是