day27.java

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();
	}
	
}

在这里插入图片描述

2020080605013

猜你喜欢

转载自blog.csdn.net/qq_55689246/article/details/117968662