Java教程

学习Java27天

本文主要是介绍学习Java27天,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 系列文章目录
  • 前言
  • 一、中间容器
  • 二、布局管理
    • 1.FlowLAyout布局管理器
    • 2.BorderLayout布局管理
    • 3.GrodLayout布局管理
    • 复选框
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、中间容器

Swing的中间容器包含了一些可以被使用在不同环境下的中层容器,主要包括面板容器(JPanel类)、分割窗口(JSplitPane类)、带滚动条的窗口容器(JScrollPane类)、工具栏(JToolBar类)等。它们通常是JComponent的子类,通常放在其他容器类中。
package Demo01;

import java.awt.Button;
import java.awt.Container;
import java.awt.Label;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;

public class DialogDemo01 extends JDialog {
public DialogDemo01(JFrame jframe) {
super(jframe,true);
this.setBounds(100,100,300,300);
Container container1= this.getContentPane();
container1.setLayout(null);
//container.add(new Label(“忘记密码”));
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() {
		public void actionPerformed(ActionEvent e) {
			DialogDemo01 s=new DialogDemo01(j);
			s.setVisible(true);
			System.out.println("我被点击了");
		}
	});
	container.add(button);
	
}

}

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 JPaneDemo extends JFrame {
public JPaneDemo() {
Container container1= this.getContentPane();
container1.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”));
container1.add(panel);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(100,100,400,400);
}
public static void main(String[] args) {
new JPaneDemo();
}
}

package Demo02;

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

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class JScrollDemo extends JFrame {
public JScrollDemo() {
Container container1= this.getContentPane();
//文本域
JTextArea textarea=new JTextArea(20,50);
textarea.setText(“大数据5班”);
//scroll面板
JScrollPane scrollpane=new JScrollPane(textarea);
//JPanel scrollpane=new JPanel();
//scrollpane.add(textarea);
container1.add(scrollpane);

	this.setDefaultCloseOperation(EXIT_ON_CLOSE);
	this.setVisible(true);
	this.setBounds(100,100,400,400);
}

public static void main(String[] args) {
new JScrollDemo();
}
}

二、布局管理

1.FlowLAyout布局管理器

FlowLAyout定义在Java.awt包中,是JPanel容器的默认布局管理器,它按照从上到下、从左到右(或从右到左)的规则添加到容器的组件依次排序,如果一行放满后就另起一行。另外,在创建FlowLAyout的队形时可以指定一行中组件的对齐方式,默认为居中;还可以指定每个组件之间的水平和垂直方向的间距大小,默认像素为5.这种布局管理器并不调整每个组件的大小,而是永远保持每个组件的最佳尺寸,剩余空间用空格补填。
FlowLAyout类中提供了三种格式的构造方法
1,.FlowLAyout():无参数构造方法
2.FlowLAyout(int align):创建一个对齐方式为align的布局管理器对象
3.FlowLAyout(int align,int hgap,int vgap):创建一个对齐方式为aging、水平间距为hgap像素,垂直间距vagp像素的布局管理对象

package Demo03;

import java.awt.FlowLayout;

import javax.swing.*;

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

}

2.BorderLayout布局管理

BorderLayout是JFrame和JDialog两种容器的默认布局管理器,它将容器分为5个部分,分别名为为:EAST、WEST、SOUTH、NORTH、CENTER。

package Demo03;

import java.awt.BorderLayout;

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

}

3.GrodLayout布局管理

GrodLayout布局管理器将整个容器划分为N行M列的网格,平均占据容器的空间。布局时,按照组件的加入的顺序优先考虑行布局。
package Demo03;

import java.awt.GridLayout;

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,700,500);
j.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
j.setLayout(new GridLayout(3,2));

	JButton button1=new JButton("button1");
	button1.setSize(50,50);
	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 Demo05;

import java.awt.Container;

import javax.swing.JComboBox;
import javax.swing.JFrame;

public class TextComBoxDemo01 extends JFrame {
public TextComBoxDemo01() {
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,400,400);

}

public static void main(String[] args) {
new TextComBoxDemo01();
}
}
package Demo05;

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

import javax.swing.JFrame;
import javax.swing.JList;

public class TextComBoxDemo02 extends JFrame {
public TextComBoxDemo02() {
Container container1= this.getContentPane();
//下拉框
//String[] contents={“1”,“五班”,“java”};
Vector 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,400,400);
}
public static void main(String[] args) {
new TextComBoxDemo02();
}
}

总结

这篇关于学习Java27天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!