我最近在书上看了java的3种布局管理器类:总结下来是:
1、border layout manger 可以把面板分成*行*列
2、flow layout manger 默认的布局管理器,组件添加上去一行空间不够会显示到下一行
3、gridbag layout manger 这个比较复杂,可以对每个组件的效果进行设置和约束另外还有一个类我一直弄不清,JPanel 类 ,。
我把JFrame类看成是框架,JPanel类看成是容器。就跟房子的框架和墙一样。
但是我今天看到个列子,程序中没有定义JPanel类,而直接使用JFrame.
这样做程序怎么可行?还有大家写项目的时候用哪一类的布局管理器,给些编写java表陈框架建议给我,谢谢。上面说的错误也请大家指正!
1、border layout manger 可以把面板分成*行*列
2、flow layout manger 默认的布局管理器,组件添加上去一行空间不够会显示到下一行
3、gridbag layout manger 这个比较复杂,可以对每个组件的效果进行设置和约束另外还有一个类我一直弄不清,JPanel 类 ,。
我把JFrame类看成是框架,JPanel类看成是容器。就跟房子的框架和墙一样。
但是我今天看到个列子,程序中没有定义JPanel类,而直接使用JFrame.
这样做程序怎么可行?还有大家写项目的时候用哪一类的布局管理器,给些编写java表陈框架建议给我,谢谢。上面说的错误也请大家指正!
2.常见的5种布局,基本上就用FlowLayout BorderLayout GridLayout 这三种
import java.awt.*;
import java.lang.*;
import java.util.*;
import java.awt.event.*;
import javax.swing.*;
public class ButtonTest
{
public static void main(String[] args){
ButtonFrame frame=new ButtonFrame();
frame.setVisible(true);
}
}class ButtonFrame extends JFrame
{
public ButtonFrame(){
setTitle("ButtonTest");
setSize(300,200); //Create Button
JButton yellowButton=new JButton("yellow");
buttonpanel=new JPanel();
//add to Frame
add(buttonpanel);
buttonpanel.add(yellowButton);
ColorAction yellowAction=new ColorAction(Color.YELLOW);
yellowButton.addActionListener(yellowAction);
}
private class ColorAction implements ActionListener
{
public ColorAction(Color c){
backgroundColor=c;
} public void actionPerformed(ActionEvent event)
{
buttonpanel.setBackground(backgroundColor);
} private Color backgroundColor;
}
private JPanel buttonpanel;
}
我把Button组件直接添加到Frame中不经过JPanel后就得不到正确结果,求解释!!!