当前位置: 技术问答>java相关
JPanel设置布局管理器BorderLayout的一个问题。详情见内。谢谢。
来源: 互联网 发布时间:2015-03-30
本文导语: 见如下程序,为什么p没有完全充满b的北面。如何修改。谢谢 import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.*; public class Test extends JFrame{ public static void main(String[] args){ JFrame t=new Test(); t.s...
见如下程序,为什么p没有完全充满b的北面。如何修改。谢谢
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class Test extends JFrame{
public static void main(String[] args){
JFrame t=new Test();
t.setSize(200,300);
t.setVisible(true);
}
public Test(){
JPanel b=new JPanel();
b.setBorder(BorderFactory.createRaisedBevelBorder());
JPanel p=new JPanel();
p.setBorder(BorderFactory.createLoweredBevelBorder());
p.add(new JButton("1"));
p.add(new JButton("2"));
getContentPane().add(b);
b.add(p,BorderLayout.NORTH);
}
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class Test extends JFrame{
public static void main(String[] args){
JFrame t=new Test();
t.setSize(200,300);
t.setVisible(true);
}
public Test(){
JPanel b=new JPanel();
b.setBorder(BorderFactory.createRaisedBevelBorder());
JPanel p=new JPanel();
p.setBorder(BorderFactory.createLoweredBevelBorder());
p.add(new JButton("1"));
p.add(new JButton("2"));
getContentPane().add(b);
b.add(p,BorderLayout.NORTH);
}
}
|
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class Test extends JFrame
{
public static void main(String[] args)
{
JFrame t=new Test();
t.setSize(200,300);
t.setVisible(true);
}
public Test()
{
JPanel b=new JPanel();
b.setBorder(BorderFactory.createRaisedBevelBorder());
b.setLayout(new BorderLayout());
JPanel p=new JPanel();
p.setBorder(BorderFactory.createLoweredBevelBorder());
p.add(new JButton("1"));
p.add(new JButton("2"));
getContentPane().add(b);
b.add(p,BorderLayout.NORTH);
}
}
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class Test extends JFrame
{
public static void main(String[] args)
{
JFrame t=new Test();
t.setSize(200,300);
t.setVisible(true);
}
public Test()
{
JPanel b=new JPanel();
b.setBorder(BorderFactory.createRaisedBevelBorder());
b.setLayout(new BorderLayout());
JPanel p=new JPanel();
p.setBorder(BorderFactory.createLoweredBevelBorder());
p.add(new JButton("1"));
p.add(new JButton("2"));
getContentPane().add(b);
b.add(p,BorderLayout.NORTH);
}
}
|
p已经完全充满b的北面,但button1和2只是占据p的center部分!,因为默认的就是
p.add(new JButton("1"));p.add(new JButton("1"),BorderLayout.CENTER);
p.add(new JButton("1"));p.add(new JButton("1"),BorderLayout.CENTER);
|
JPanel默认的LayoutManager是FlowLayout,
你在创建JPanel的实例的时候,
需要把它设置为BorderLayout,
JPanel p = new JPanel(new BorderLayout());
你在创建JPanel的实例的时候,
需要把它设置为BorderLayout,
JPanel p = new JPanel(new BorderLayout());
|
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class Test extends JFrame
{
public static void main(String[] args)
{
JFrame t=new Test();
t.setSize(200,300);
t.setVisible(true);
}
public Test()
{
JPanel b=new JPanel();
b.setBorder(BorderFactory.createRaisedBevelBorder());
b.setLayout(new BorderLayout()); //JPanel的默认布局管理器是FlowLayout
JPanel p=new JPanel();
p.setBorder(BorderFactory.createLoweredBevelBorder());
p.add(new JButton("1"));
p.add(new JButton("2"));
getContentPane().add(b);
b.add(p,BorderLayout.NORTH);
}
}
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class Test extends JFrame
{
public static void main(String[] args)
{
JFrame t=new Test();
t.setSize(200,300);
t.setVisible(true);
}
public Test()
{
JPanel b=new JPanel();
b.setBorder(BorderFactory.createRaisedBevelBorder());
b.setLayout(new BorderLayout()); //JPanel的默认布局管理器是FlowLayout
JPanel p=new JPanel();
p.setBorder(BorderFactory.createLoweredBevelBorder());
p.add(new JButton("1"));
p.add(new JButton("2"));
getContentPane().add(b);
b.add(p,BorderLayout.NORTH);
}
}
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。