第36天学习打卡(窗口,面板,弹窗,标签,按钮,列表,文本框)

Swing

1.1窗口、面板

 

 package com.kuang.lesson04;
 
 import javax.swing.*;
 import java.awt.*;
 
 public class JFrameDemo {
     //init()初始化
     public void init(){
         //JFrame顶层窗口
         JFrame jf = new JFrame("这是一个JFrame窗口");
         jf.setVisible(true);
         jf.setBounds(100,100,200,200);
         jf.setBackground(Color.cyan);
 
         //设置文字JLabel
         JLabel label = new JLabel("欢迎来到狂神说java系列节目");
         jf.add(label);
 
         //容器
 
         //关闭事件
         jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
    }
 
     public static void main(String[] args) {
         //建立一个窗口
         new JFrameDemo().init();
    }
 
 
 }
 

标签居中:

 

 package com.kuang.lesson04;
 
 import javax.swing.*;
 import java.awt.*;
 
 public class JFrameDemo02{
     public static void main(String[] args) {
         new MyJFrame2().init();
    }
 }
 class MyJFrame2 extends JFrame{
     public void init(){
         this.setBounds(10,10,200,300);
         this.setVisible(true);
 
         JLabel label = new JLabel("欢迎来到狂神说java系列节目");
         add(label);
 
         //让文本标签居中
         label.setHorizontalAlignment(SwingConstants.CENTER);
         //获得一个容器
         Container container = this.getContentPane();
         container.setBackground(Color.BLUE);
 
    }
 }

1.2弹窗

JDialog,用来被弹出,默认就有关闭事件!

 package com.kuang.lesson04;
 
 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 
 //主窗口
 public class DialogDemo extends JFrame {
     public DialogDemo(){
         this.setVisible(true);
         this.setSize(700,500);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
         //JFrame放东西,容器
         Container container = this.getContentPane();
         //绝对布局
         container.setLayout(null);
 
         //按钮
         JButton button = new JButton("点击弹出一个对话框");//创建对象
         button.setBounds(30,30,200,50);
         //点击这个按钮的时候,弹出一个弹窗
         button.addActionListener(new ActionListener() {//监听器
             @Override
             public void actionPerformed(ActionEvent e) {
                 //弹窗
                 new MyDialogDemo();
 
            }
        });
 
         container.add(button);
    }
     public static void main(String[] args) {
         new DialogDemo();
 
    }
 }
 //弹窗的窗口
 class MyDialogDemo extends  JDialog{
     public MyDialogDemo() {
         this.setVisible(true);
         this.setBounds(100,100,500,500);
         //this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
         Container container = this.getContentPane();
         container.setLayout(null);
         container.add(new Label("带你学习Java"));
    }
 }

1.3标签

labe

图标Icon

 package com.kuang.lesson04;
 
 import javax.swing.*;
 import java.awt.*;
 
 //图标是一个接口,需要实现类,Frame是个类需要继承
 public class IconDemo extends JFrame implements Icon {
     private  int width;
     private  int height;
     public IconDemo(){}//无参构造
     public IconDemo(int width,int height){
         this.width = width;
         this.height = height;
    }
     public void init(){
         IconDemo iconDemo = new IconDemo(15,15);
         //图标放在标签上,也可以放在按钮上
         JLabel label = new JLabel("icontest",iconDemo,SwingConstants.CENTER);
         Container container = getContentPane();
         container.add(label);
         this.setVisible(true);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
    }
 
     public static void main(String[] args) {
         new IconDemo().init();
 
    }
 
     @Override
     public void paintIcon(Component c, Graphics g, int x, int y) {
        g.fillOval(x,y,width,height);
 
    }
 
     @Override
     public int getIconWidth() {
         return this.width;
    }
 
     @Override
     public int getIconHeight() {
         return this.height;
    }
 }
 

 

 

图片Icon

 package com.kuang.lesson04;
 
 import javax.swing.*;
 import java.awt.*;
 import java.net.URL;
 
 public class ImageIconDemo extends JFrame {
     public ImageIconDemo() {
         //获取图片的地址
         JLabel label = new JLabel("ImageIcon");
         //url为具体的地址
         URL url = ImageIconDemo.class.getResource("10.jpg");//通过这个类获取当前类路径下的东西
         ImageIcon imageIcon = new ImageIcon(url);//命名不要冲突了
         label.setIcon(imageIcon);
         label.setHorizontalAlignment(SwingConstants.CENTER);
 
         Container container = getContentPane();
         container.add(label);
         setVisible(true);
         setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
         setBounds(100,200,200,200);
 
 
    }
 
     public static void main(String[] args) {
         new ImageIconDemo();
 
    }
 }
 

 

1.4 面板

JPanel

 package com.kuang.lesson05;
 
 import javax.swing.*;
 import java.awt.*;
 
 public class JPanelDemo extends JFrame {
     public JPanelDemo() {
         Container container = this.getContentPane();
         container.setLayout(new GridLayout(2,1,10,10));//后面的参数的意思,间距
         JPanel panel1 = new JPanel(new GridLayout(1,3));
         JPanel panel2 = new JPanel(new GridLayout(1,2));
         JPanel panel3 = new JPanel(new GridLayout(2,1));
         JPanel panel4 = new JPanel(new GridLayout(3,2));
         panel1.add(new JButton("1"));
         panel1.add(new JButton("1"));
         panel1.add(new JButton("1"));
         panel2.add(new JButton("2"));
         panel2.add(new JButton("2"));
         panel3.add(new JButton("3"));
         panel3.add(new JButton("3"));
         panel4.add(new JButton("4"));
         panel4.add(new JButton("4"));
         panel4.add(new JButton("4"));
         panel4.add(new JButton("4"));
         panel4.add(new JButton("4"));
         panel4.add(new JButton("4"));
 
         container.add(panel1);
         container.add(panel2);
         container.add(panel3);
         container.add(panel4);
 
         this.setVisible(true);
         this.setSize(500,500);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
    }
 
     public static void main(String[] args) {
         new JPanelDemo();
 
    }
 }
 

JScrollPanel

设置边框滑动条:

 package com.kuang.lesson05;
 
 import javax.swing.*;
 import java.awt.*;
 
 public class JScrollDemo extends JFrame {
     public JScrollDemo(){
         Container container = this.getContentPane();
 
         //文本域
         JTextArea textArea = new JTextArea(20,50);
         textArea.setText("欢迎学习狂神java");
 
         //Scroll面板
         JScrollPane scrollPane = new JScrollPane(textArea);//设置边框的滚动条
         container.add(scrollPane);
 
         
 
         this.setVisible(true);
         this.setBounds(100,100,300,350);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
    }
 
     public static void main(String[] args) {
       new JScrollDemo();
    }
 
 }
 

 

1.5按钮

图片按钮

 package com.kuang.lesson05;
 
 import javax.swing.*;
 import java.awt.*;
 import java.net.URL;
 
 public class JButtonDemo01 extends JFrame {
     public JButtonDemo01() {
         //将一个图片变为图标
         Container container = this.getContentPane();
         URL resource = JButtonDemo01.class.getResource("10.jpg");
          Icon icon = new ImageIcon(resource);
 
          //把这个图标放在按钮上
         JButton button = new JButton();
         button.setIcon(icon);
         button.setToolTipText("图片按钮");
 
         //add
         container.add(button);//按钮加到容器上
 
         this.setVisible(true);
         this.setSize(500,300);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
 
 
    }
 
     public static void main(String[] args) {
         new JButtonDemo01();
 
    }
 }
 

 

单选按钮

 package com.kuang.lesson05;
 
 import javax.swing.*;
 import java.awt.*;
 import java.net.URL;
 
 public class JButtonDemo02 extends JFrame {
     public JButtonDemo02() {
         //将一个图片变为图标
         Container container = this.getContentPane();
         URL resource = JButtonDemo01.class.getResource("10.jpg");
         Icon icon = new ImageIcon(resource);
 
         //单选框
         JRadioButton radioButton1 = new JRadioButton("JRadioButton01");
         JRadioButton radioButton2 = new JRadioButton("JRadioButton02");
         JRadioButton radioButton3 = new JRadioButton("JRadioButton03");
 
         //由于单选框只能选择一个,进行分组,一个组里面只能选一个
         ButtonGroup group = new ButtonGroup();
         group.add(radioButton1);
         group.add(radioButton2);
         group.add(radioButton3);
 
         container.add(radioButton1,BorderLayout.CENTER);
         container.add(radioButton2,BorderLayout.NORTH);
         container.add(radioButton3,BorderLayout.SOUTH);
 
 
         this.setVisible(true);
         this.setSize(500,300);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
 
 
    }
 
     public static void main(String[] args) {
         new JButtonDemo02();
 
    }
 }
 

 

复选按钮

 package com.kuang.lesson05;
 
 import javax.swing.*;
 import java.awt.*;
 import java.net.URL;
 
 public class JButtonDemo03 extends JFrame {
     public JButtonDemo03() {
         //将一个图片变为图标
         Container container = this.getContentPane();
         URL resource = JButtonDemo01.class.getResource("10.jpg");
         Icon icon = new ImageIcon(resource);
 
         //多选框
         JCheckBox checkBox01 = new JCheckBox("chechBox01");
         JCheckBox checkBox02 = new JCheckBox("chechBox02");
 
         container.add(checkBox01,BorderLayout.NORTH);
         container.add(checkBox02,BorderLayout.SOUTH);
 
 
 
 
         this.setVisible(true);
         this.setSize(500,300);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
 
 
    }
 
     public static void main(String[] args) {
         new JButtonDemo03();
 
    }
 }

 

1.6列表

下拉框

 package com.kuang.lesson06;
 
 import javax.swing.*;
 import java.awt.*;
 
 public class TestComboboxDemo01 extends JFrame {
     public TestComboboxDemo01() {
 
         Container container = this.getContentPane();
         JComboBox status = new JComboBox();
         status.addItem(null);
         status.addItem("正在上映");
         status.addItem("已下架");
         status.addItem("即将上映");
         container.add(status);
 
 
         this.setVisible(true);
         this.setSize(500,350);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
 
    }
 
     public static void main(String[] args) {
         new TestComboboxDemo01();
    }
 }
 
 

列表框

 package com.kuang.lesson06;
 
 import javax.swing.*;
 import java.awt.*;
 import java.util.Vector;
 
 public class TestComboboxDemo02 extends JFrame {
     public TestComboboxDemo02() {
 
         Container container = this.getContentPane();
 
         //生成列表的内容
        //String[] contents = {"1","2","3"};
         Vector contents = new Vector();
        //列表中需要放入内容
         JList jList = new JList(contents);
 
         contents.add("zhangsan");
         contents.add("lisi");
         contents.add("wangwu");
         container.add(jList);
 
         this.setVisible(true);
         this.setSize(500,350);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
 
    }
 
     public static void main(String[] args) {
         new TestComboboxDemo02();
    }
 }
 
 

应用场景

下拉框可以选择地区,或者一些单个选项

列表,展示信息,一般是动态扩容!

1.7文本框

文本框

 package com.kuang.lesson06;
 
 import javax.swing.*;
 import java.awt.*;
 import java.util.Vector;
 
 public class TestTextDemo01 extends JFrame {
     public TestTextDemo01() {
 
         Container container = this.getContentPane();
 
 
         JTextField textField = new JTextField("hello");
         JTextField textField2 = new JTextField("world",20);
 
         container.add(textField,BorderLayout.NORTH);
         container.add(textField2,BorderLayout.SOUTH);
 
         this.setVisible(true);
         this.setSize(500,350);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
 
    }
 
     public static void main(String[] args) {
         new TestTextDemo01();
    }
 }
 
 

 

密码框

 package com.kuang.lesson06;
 
 import javax.swing.*;
 import java.awt.*;
 
 public class TestTextDemo03 extends JFrame {
     public TestTextDemo03() {
 
         Container container = this.getContentPane();
              //面板
         JPasswordField passwordField = new JPasswordField();//*****
         passwordField.setEchoChar('*');
         container.add(passwordField);
 
 
 
         this.setVisible(true);
         this.setSize(500,350);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
 
    }
 
     public static void main(String[] args) {
         new TestTextDemo03();
    }
 }
 
 

 

文本域:

 package com.kuang.lesson05;
 
 import javax.swing.*;
 import java.awt.*;
 
 public class JScrollDemo extends JFrame {
     public JScrollDemo(){
         Container container = this.getContentPane();
 
         //文本域
         JTextArea textArea = new JTextArea(20,50);
         textArea.setText("欢迎学习狂神java");
 
         //Scroll面板
         JScrollPane scrollPane = new JScrollPane(textArea);//设置边框的滚动条
         container.add(scrollPane);
 
 
 
         this.setVisible(true);
         this.setBounds(100,100,300,350);
         this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 
    }
 
     public static void main(String[] args) {
       new JScrollDemo();
    }
 
 }
 

 

posted @ 2021-02-13 15:38  豆豆tj  阅读(97)  评论(0)    收藏  举报