代码如下
import javax.swing.JFrame;
import javax.swing.JLabel;
//import java.awt.Component;
class test
{
private JFrame jf = new JFrame(" Test ");
public void init()
{
//jf.resize(100,200);
JLabel j1 = new JLabel("hello,");
JLabel j2 = new JLabel("good!"); jf.add(j2);
jf.add(j1);
jf.pack();
jf.setVisible(true);
}
}
public class JFrameTest
{
public static void main(String[] args)
{
test jte = new test();
jte.init();
}
}为什么我想同时显示两个label,但只能显示最后add的label,
是JFrame 对象不能直接加元素进去吗?要加个JPanel之类的东东才行?最好能说说JFrame , GridLayout, JPanel之间的关系,
看一些例子中,都是先向JFrame里先加GridLayout ,再往 GridLayout里加JPanel,然后才向JPanel里加想要的Component,为什么要这么麻烦呢?
是因为JFrame类本身的限制吗?请稍微解释一点原理.深入一点不怕.谢谢了.
import javax.swing.JFrame;
import javax.swing.JLabel;
//import java.awt.Component;
class test
{
private JFrame jf = new JFrame(" Test ");
public void init()
{
//jf.resize(100,200);
JLabel j1 = new JLabel("hello,");
JLabel j2 = new JLabel("good!"); jf.add(j2);
jf.add(j1);
jf.pack();
jf.setVisible(true);
}
}
public class JFrameTest
{
public static void main(String[] args)
{
test jte = new test();
jte.init();
}
}为什么我想同时显示两个label,但只能显示最后add的label,
是JFrame 对象不能直接加元素进去吗?要加个JPanel之类的东东才行?最好能说说JFrame , GridLayout, JPanel之间的关系,
看一些例子中,都是先向JFrame里先加GridLayout ,再往 GridLayout里加JPanel,然后才向JPanel里加想要的Component,为什么要这么麻烦呢?
是因为JFrame类本身的限制吗?请稍微解释一点原理.深入一点不怕.谢谢了.
jf.add(j1,BorderLayout.EAST);
即 JFrame.getContentPane().getLayout() = BorderLayout;3、BorderLayout即为 东西南北中 布局,添加组件的时候,需要设置布局参数 BorderLayout.CENTER、SOUTH、NORTH、WEST、EAST;
通常向BorderLayout的容器添加组件的时候,如果使用 add(JComponent)不添加参数的时候,默认是CENTER,
所以你调用两次 add(JComponent),实际上第二次将第一次的组件覆盖了。 应该使用 add(JComponent, 参数);
就BorderLayout来说:
panel.add(JComponent, BorderLayout.CENTER);
或者panel.add(JCmponent,"Center");
我只是不明白,为什么JFrame类 只能添加一个JLable,
那如果是布局管理器也只能加一种,
这个可能是比较底层了一点,其实不必理会只要记得加Layout就可以了,
我只是好奇,想了解以下JFrame的add,是否只能加一个Componet
那么在程序中该如何判断到底获得的是那种layout呢?
JFrame.getContentPane().getLayout() 的返回值是boyderlayout对象
但我应该怎么判断这个返回值, 让我知道它就是boyderlayout而不是flowlayout;
例如一个什么函数
judgetype(JFrame.getContentPane().getLayout() )= "boyderlayout";judgetype是我假想的函数