0
我创建了两个方法,其参数为BorderLayout
,其他为FlowLayout
,每种方法都有自己的框架。边框和流布局不显示两个窗口?
但只有一个窗口弹出混合布局。
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JFrame;
public class BLayOut extends JFrame
{
private JFrame fr,fr2;
private JLabel label,label2,label3;
public void win(BorderLayout bl)
{
fr =new JFrame("BorderLayout");
setSize(300,200);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(bl);
label= new JLabel("Label 1");
label2 = new JLabel("Label 2");
label3 = new JLabel("Label 2");
add(label,BorderLayout.NORTH);
add(label2,BorderLayout.SOUTH);
add(label3,BorderLayout.CENTER);
}
public void win(FlowLayout fl)
{
fr2 =new JFrame("FlowLayout");
setSize(500,200);
setVisible(true);
setLocation(300, 0);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(fl);
label= new JLabel("Label 1");
label2 = new JLabel("Label 2");
label3 = new JLabel("Label 3");
add(label);
add(label2);
add(label3);
}
}
class BLayOutMain
{
public static void main (String args [])
{
BLayOut bl = new BLayOut();
bl.win(new BorderLayout());
bl.win(new FlowLayout());
}
}
或者我可以jsut创建另一个实例BLayOut BL = new BLayOut(); BLayOut b2 = new BLayOut(); bl.win(new BorderLayout()); b2.win(new FlowLayout());但不知道这是个好主意。 – mhrzn
@mhrzn我假设这是一个测试,所以无论哪种方式应该能够工作,我只是有个人厌恶从'JFrame'扩展 – MadProgrammer