学习java第二十七天
图形界面(2)
常用组件与容器
对话框
package demo01;
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,true);
this.setBounds(100,100,500,500);
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() {
@Override
public void actionPerformed(ActionEvent e) {
DialogDemo01 s=new DialogDemo01(j);
s.setVisible(true);
System.out.println("我被点击了");
}
});
}
}
面板(无滚动条)
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();
}
}
面板(有滚动条)
package com.hg.day27.demo02;
import javax.swing.*;
import java.awt.*;
//面板作为容器不能单独存在,必须放到其他容器里面JFrame,JDialog
public class JScrollDemo extends JFrame {
public JScrollDemo(){
Container container = this.getContentPane();
//文本域
JTextArea textarea =new JTextArea(20,50);
textarea.setText("大数据五班");
//scroll面板
JScrollPane scrollPane =new JScrollPane(textarea);
// JPanel scrollPane =new JPanel();
// scrollPane.add(textarea);
container.add(scrollPane);
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 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);
}
}
布局(方位布局)
package demo03;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants;
public class TestBorderLayout2 {
public static void main(String[] args) {
JFrame j=new JFrame();
j.setVisible(true);
j.setBounds(100,100,700,500);
j.setDefaultCloseOperation(WindowConstants.HIDE_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 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 Demo04;
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
//单选按钮
public class RadioButton extends JFrame {
public RadioButton() {
Container container1 = this.getContentPane();
//单选框
JRadioButton radiobutton1 = new JRadioButton("单选1");
JRadioButton radiobutton2 = new JRadioButton("JRadioButton2");
JRadioButton radiobutton3 = new JRadioButton("JRadioButton3");
JRadioButton radiobutton4 = new JRadioButton("JRadioButton4");
ButtonGroup group = new ButtonGroup();
group.add(radiobutton1);
group.add(radiobutton2);
group.add(radiobutton3);
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 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();
}
}
下拉列表
package demo05;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.util.Vector;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
//面板作为容器不能单独存在,必须放到其他容器里面 JFrame.
public class TextConBoxDemo2 extends JFrame{
public TextConBoxDemo2() {
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("上网");
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(100,100,500,500);
}
public static void main(String[] args) {
new TextConBoxDemo2();
}
}
无下拉选择的列表
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();
}
}