2021-06-08

java学习第二十七天

1.Dialog
JDialog 窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用 IE 浏览器时弹出的确定对话框,一样。JDialog 实质上就是另一种类型的窗体,它与 JFrame 窗体类似,在使用时也需要调用 getContentPane() 方法将窗体转换为容器,然后在容器中设置窗体的属性。

package demo01;

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;

public class Dialog extends JDialog{
	public Dialog(JFrame jframe) {
		super(jframe,false);
		this.setBounds(100,100,500,500);
		Container container1=this.getContentPane();
		container1.setLayout(null);
		JButton button1=new JButton("我要五班");
		button1.setBounds(30,30,200,50);
		container1.add(button1);
	}
	public static void main(String[] args) {
		JFrame j=new JFrame();
		j.setVisible(true);
		j.setBounds(100,100,700,500);
		j.setDefaultCloseOperation(EXIT_ON_CLOSE);
		Container container=j.getContentPane();
		container.setLayout(null);
		JButton button=new JButton("我要登录");
		button.setBounds(30,30,200,50);
		button.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent e) {
				Dialog s=new Dialog(j);
				s.setVisible(true);
				System.out.println("我被点击了");
			}
		});
		container.add(button);
		
	}

}

2.JPane
Panel 是 Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing 包中,可以进行嵌套,功能是对窗体中具有相同逻辑功能的组件进行组

package demo02;

import java.awt.Container;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
//面板作为容器不能单独存在,必须放到其他容器里面JFrame,jDialog
public class JPane extends JFrame{
	public JPane() {
		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 JPane();
}
}

3.JSrcoll文本域面板

package demo02;

import java.awt.Container;


import javax.swing.JFrame;

import javax.swing.JScrollPane;
import javax.swing.JTextArea;
//面板作为容器不能单独存在,必须放到其他容器里面JFrame,jDialog
@SuppressWarnings("serial")
public class JScroll extends JFrame{
	public JScroll() {
		Container container1=this.getContentPane();
		JTextArea textarea=new JTextArea(20,50);
		textarea.setText("大数据五班");
		JScrollPane scrollpane=new JScrollPane(textarea);
		//container1.setLayout(new GridLayout(2,1,10,10));
		
		//JPanel scrllpane=new JPanel();
		//scrllpane.add(textarea);
		
		
		container1.add(scrollpane);
		
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setVisible(true);
		this.setBounds(100,100,500,500);
	}
public static void main(String[] args) {
	new JScroll();
}
}

4.BorderLayout
BorderLayout是常用的布局,放大和缩小窗口时,中间的组件区域会跟着放大和缩小

package demo03;

import java.awt.BorderLayout;
import java.awt.FlowLayout;

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,700,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("居中");

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

}

5.TestFlowLayout
Flowlayout属于自定义流式布局,意思就是说从左上角开始添加原件,依次往后排,第一行挤满了就换一行接着排。

package demo03;

import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class TestFlowLayout {
	public static void main(String[] args) {
		JFrame j=new JFrame();
		j.setVisible(true);
		j.setBounds(100,100,700,500);
		j.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		//j.setLayout(new 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);
		
	}

}

6.Grid
网格布局管理器,将容器分成大小相等的网格

package demo03;

import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class TestGrid2 {
	public static void main(String[] args) {
		JFrame j=new JFrame();
		j.setVisible(true);
		j.setBounds(100,100,700,500);
		j.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		//j.setLayout(new FlowLayout());不传参数,默认居中
	    //j.setLayout(new FlowLayout(FlowLayout.RIGHT));
		j.setLayout(new GridLayout(3,2));
		
		JButton button1=new JButton("button1");
		button1.setSize(50,50);
		JButton button2=new JButton("button2");
		button2.setSize(50,50);
		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();
		
	}

}

7.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.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
//面板作为容器不能单独存在,必须放到其他容器里面JFrame,jDialog
public class CheckBox extends JFrame{
	public CheckBox() {
		Container container1=this.getContentPane();
		JCheckBox checkbox1=new JCheckBox("自动登录");
		JCheckBox checkbox2=new JCheckBox("记住密码");
		JCheckBox checkbox3=new JCheckBox("checkbox3");
		
		container1.add(checkbox1,BorderLayout.CENTER);
		container1.add(checkbox2,BorderLayout.EAST);
		container1.add(checkbox3,BorderLayout.WEST);
	
		
		
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setVisible(true);
		this.setBounds(100,100,500,500);
	}
public static void main(String[] args) {
	new CheckBox();
}
}

8.RadioButton单选按钮

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.JPanel;
import javax.swing.JRadioButton;
//面板作为容器不能单独存在,必须放到其他容器里面JFrame,jDialog
public class RadioButton extends JFrame{
	public RadioButton() {
		Container container1=this.getContentPane();
		JRadioButton readiobutton1=new JRadioButton("JRadioButton1");
		JRadioButton readiobutton2=new JRadioButton("JRadioButton2");
		JRadioButton readiobutton3=new JRadioButton("JRadioButton3");
		JRadioButton readiobutton4=new JRadioButton("JRadioButton4");
		
		ButtonGroup group=new ButtonGroup();
		group.add(readiobutton1);
		group.add(readiobutton2);
		group.add(readiobutton3);
		group.add(readiobutton4);
		
		   
		container1.add(readiobutton1,BorderLayout.CENTER);
		container1.add(readiobutton2,BorderLayout.NORTH);
		container1.add(readiobutton3,BorderLayout.SOUTH);
		container1.add(readiobutton4,BorderLayout.EAST);
		
		
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setVisible(true);
		this.setBounds(100,100,500,500);
	}
public static void main(String[] args) {
	new RadioButton();
}
}

9.Combox
combox组合框其实就是把一个编辑框和一个列表框组合到了一起,分为三种: 简易(Simple)组合框、下拉式(Dropdown)组合框和下拉列表式(Drop List)组合框

package demo05;

import java.awt.Container;
import java.awt.GridLayout;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
//面板作为容器不能单独存在,必须放到其他容器里面JFrame,jDialog
public class TestCombox2 extends JFrame{
	public TestCombox2() {
		Container container=this.getContentPane();
		//String[] contents= {"1","五班","java"};
		Vector<Object> contents=new Vector();
		JList jlist=new JList(contents);
		contents.add("五班");
		contents.add("打游戏");
		contents.add("睡觉");
		
		container.add(jlist);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setVisible(true);
		this.setBounds(100,100,500,500);
	}
public static void main(String[] args) {
	new TestCombox2();
}
}

package demo05;

import java.awt.Container;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
//面板作为容器不能单独存在,必须放到其他容器里面JFrame,jDialog
public class TestCombox extends JFrame{
	public TestCombox() {
		Container container=this.getContentPane();
		JComboBox status=new JComboBox();
		status.addItem("正在睡觉");
		status.addItem("准备睡觉");
		status.addItem("看电视");
		container.add(status);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setVisible(true);
		this.setBounds(100,100,500,500);
	}
public static void main(String[] args) {
	new TestCombox();
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值