GUI的布局
对话框的升级可以打开多个
package dem0o1;
import java.awt.Container;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
public class DialogDemo01 extends JDialog{
public DialogDemo01(JFrame jframe) {
super(jframe,false); //true 有堵塞 false没有堵塞 但可以打开多个窗体
this.setBounds(100, 150, 500, 500);
Container container =this.getContentPane();
container.setLayout(null);
//container.add(new Label("大数据五班"));
JButton button =new JButton("我是五班");
button.setBounds(20, 20,150, 50);
container.add(button);
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
JFrame j =new JFrame();
j.setVisible(true);//窗体可见
j.setBounds(100, 100, 600, 500);
j.setDefaultCloseOperation(EXIT_ON_CLOSE);//没有它不能关闭后台
Container container =j.getContentPane();
container.setLayout(null);
JButton button =new JButton("我要登入");
button.setBounds(20, 20,150, 50);
button.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
DialogDemo01 s= new DialogDemo01(j);
s.setVisible(true);
System.out.println("我被点击了");
}
});
container.add(button);
}
}
普通方位
注意:/*
- 面板不能单独存在必须放到其他容器 JFrame,jD
- */
package demo02;
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
/*
* 面板不能单独存在必须放到其他容器 JFrame,jD
*
* */
public class JpaneDemo extends JFrame {
public JpaneDemo() {
Container container =this.getContentPane();
container.setLayout(new GridLayout(2,1,10,10));//两行一列
JPanel panel =new JPanel(new GridLayout(1,3));
panel.add(new JButton("1"));
panel.add(new JButton("2"));
panel.add(new JButton("3"));
container.add(panel);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(100,100,500,500);
}
public static void main(String[] args) {
new JpaneDemo();
}
}
左右滑动
package demo02;
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/*
* 面板不能单独存在必须放到其他容器 JFrame,jD
*
* */
public class JScrollDemo extends JFrame {
public JScrollDemo() {
Container container =this.getContentPane();
//文本域
JTextArea textarea= new JTextArea(20,50);
textarea.setText("大数据五班");
//scroll面板滚动
JScrollPane srollpane =new JScrollPane( textarea);
container.add(srollpane);
// JPanel srollpane=new JPanel();
//srollpane.add(textarea);
// container.add(srollpane);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(100,100,500,500);
}
public static void main(String[] args) {
new JScrollDemo();
}
}
方位
两行三列
package demo03;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants;
public class TestBorderLayout {
public static void main(String[] args) {
JFrame j =new JFrame();
j.setVisible(true);//窗体可见
j.setBounds(100, 100, 600, 500);
j.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//没有它不能关闭后台
j.setLayout(new GridLayout(3,2));
//j.setLayout(new FlowLayout(FlowLayout.LEFT));
JButton button1 =new JButton("button1");
JButton button2 =new JButton("button2");
JButton button3 =new JButton("button3");
JButton button4 =new JButton("button4");
JButton button5 =new JButton("button5");
JButton button6 =new JButton("button6");
j.add(button1);
j.add(button2);
j.add(button3);
j.add(button4);
j.add(button5);
j.add(button6);
//j.pack();
}
}
上北西中下南东
package demo03;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants;
public class TestFlowLayout2 {
public static void main(String[] args) {
JFrame j =new JFrame();
j.setVisible(true);//窗体可见
j.setBounds(100, 100, 600, 500);
j.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//没有它不能关闭后台
//方位
JButton east =new JButton("east");
JButton west =new JButton("west");
JButton south =new JButton("south");
JButton north=new JButton("north");
JButton center =new JButton("center");
j.add(east,BorderLayout.EAST);
j.add(west,BorderLayout.WEST);
j.add(south,BorderLayout.SOUTH);
j.add(north,BorderLayout.NORTH);
j.add(center,BorderLayout.CENTER);
}
}
流动体
package demo03;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants;
public class TestGrid {
public static void main(String[] args) {
JFrame j =new JFrame();
j.setVisible(true);//窗体可见
j.setBounds(100, 100, 600, 500);
j.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//没有它不能关闭后台
//j.setLayout(new FlowLayout(FlowLayout());
//j.setLayout(new FlowLayout(FlowLayout.RIGHT));
j.setLayout(new FlowLayout(FlowLayout.LEFT));
JButton button1 =new JButton("button1");
JButton button2 =new JButton("button2");
JButton button3 =new JButton("button3");
JButton button4 =new JButton("button4");
JButton button5 =new JButton("button5");
JButton button6 =new JButton("button6");
j.add(button1);
j.add(button2);
j.add(button3);
j.add(button4);
j.add(button5);
j.add(button6);
}
}
多选
package demo04;
import java.awt.*;
import java.awt.GridLayout;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
import javax.swing.WindowConstants;
public class CheckBox extends JFrame {
public CheckBox() {
Container container1=this.getContentPane();
JCheckBox checokbox1 =new JCheckBox("checokbox1");
JCheckBox checokbox2 =new JCheckBox("checokbox2");
JCheckBox checokbox3 =new JCheckBox("(checokbox3");
container1.add(checokbox1,BorderLayout.CENTER );
container1.add(checokbox2,BorderLayout.NORTH );
container1.add(checokbox3,BorderLayout.SOUTH);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(100,100,500,500);
}
public static void main(String[] args) {
new CheckBox();
}
}
单选
package demo04;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
import javax.swing.WindowConstants;
public class RadioButton extends JFrame {
public RadioButton() {
Container Container1=this.getContentPane();
JRadioButton radiobutton1 =new JRadioButton("da");
JRadioButton radiobutton2 =new JRadioButton("b");
JRadioButton radiobutton3 =new JRadioButton("c");
JRadioButton radiobutton4=new JRadioButton("d");
ButtonGroup group =new ButtonGroup();
group.add(radiobutton1);
group.add(radiobutton2);
group.add(radiobutton3);
group.add(radiobutton4);
Container1.add(radiobutton1,BorderLayout.CENTER);
Container1.add(radiobutton2,BorderLayout.NORTH);
Container1.add(radiobutton3,BorderLayout.SOUTH);
Container1.add(radiobutton4,BorderLayout.EAST);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(100,100,500,500);
}
public static void main(String[] args) {
new RadioButton();
}
}
下拉框
package demo05;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
import javax.swing.WindowConstants;
//
public class TestComboboxDemo1 extends JFrame {
public TestComboboxDemo1() {
Container container1=this.getContentPane();
JComboBox status=new JComboBox();
status.addItem(null);
status.addItem("正在学习");
status.addItem("摸鱼");
status.addItem("看电视");
container1.add(status);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(100,100,500,500);
}
public static void main(String[] args) {
new TestComboboxDemo1();
}
}
标签
package demo05;
import java.awt.Container;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JList;
public class TestComboboxDemo2 extends JFrame {
public TestComboboxDemo2() {
Container Container1=this.getContentPane();
//String[] contents ={"1","五班","java"};
Vector<Object> contents =new Vector();
JList jlist =new JList(contents);
contents.add("五班");
contents.add("爱学习");
contents.add("打游戏");
contents.add("简单");
Container1.add(jlist);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(100,100,500,500);
}
public static void main(String[] args) {
new TestComboboxDemo2();
}
}