您当前的位置: 首页 > 

壹小俊

暂无认证

  • 5浏览

    0关注

    885博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

swing的学习

壹小俊 发布时间:2021-08-07 12:17:01 ,浏览量:5

/**
 * 1JFrame窗体
 */

import javax.swing.*;//导入awt包
import java.awt.*;//导入swing包

/**
 * 第一个窗体(JFrame窗体)
 */
public class JFrameTest  extends JFrame{//定义一个类继承HFrame类
    public void CreateJFrame(String title) {//定义一个CreateJframe类
        JFrame jf = new JFrame(title);//实例化一个JFrame对象
        Container container = jf.getContentPane();//获取一个容器
        JLabel jl = new JLabel("这是一个JFrame窗体");//创建一个JLable标签
        jl.setHorizontalAlignment(SwingConstants.CENTER);//使标签上的文字居中
        container.add(jl);//将标签添加到容器中
        container.setBackground(Color.white);//设置容器的背景颜色
        jf.setVisible(true);//使窗体可视化
        jf.setSize(200,150);//设置窗体的大小
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置窗体关闭的方式
        //DO_NOTHING_ON_CLOSE 什么都不做就将窗体关闭
        //HIDE_ON_CLOSE  任何注册监听程序对象后会自动隐藏并释放窗体
        //DISPOSE_ON_CLOSE   隐藏窗口的默认窗口关闭
        //EXIT_ON_CLOSE 退出应用程序默认窗口关闭

    }

    public static void main(String[] args) {//使用主体调用CreateJFrame方法
        new JFrameTest().CreateJFrame("创建一个JFrame窗体");
    }

}
/**
 * 2
 */

import javax.swing.*;
import java.awt.*;

public class MyJDialog extends JDialog {
    public MyJDialog(MyFrame frame){
        super(frame,"第一个JDialog窗体",true);
        Container container = getContentPane();
        container.add(new JLabel("这是一个对话框"));
        setBounds(120,120,100,100);
    }
}
/**
 * 2JDialog窗体
 */

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MyFrame extends JFrame {
    public static void main(String[] args) {
        new MyFrame();
    }
    public MyFrame(){
        JFrame jf = new JFrame();//实例化一个JFrame对象
        Container container = jf.getContentPane();//创建一个容器
        container.setLayout(null);
        JLabel jl = new JLabel("这是一个JFrame窗体");
        jl.setHorizontalAlignment(SwingConstants.CENTER);
        container.add(jl);
        JButton bl = new JButton("弹出对话框");
        bl.setBounds(10,10,100,21);
        bl.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                new MyJDialog(MyFrame.this).setVisible(true);
            }
        });
        container.add(bl);
        jf.setVisible(true);//使窗体可视化
        jf.setSize(200,150);//设置窗体的大小
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置窗体关闭的方式
    }
}
/**
 * 3图标的使用(绘制icon)
 */

import javax.swing.*;
import java.awt.*;

public class DrawIcon implements Icon {
    private int width;
    private int heigh;
    public int getIconWidth(){
        return this.width;
    }
    public int getIconHeight(){
        return this.heigh;
    }
    public void paintIcon(Component arg0,Graphics arg1,int x,int y){
        arg1.fillOval(x,y,width,heigh);
    }
    public DrawIcon(int width,int heigh){
        this.width = width;
        this.heigh = heigh;
    }

    public static void main(String[] args) {
        JFrame jf = new JFrame();//实例化一个JFrame对象
        Container container = jf.getContentPane();//获取一个容器
        container.setBackground(Color.white);//设置容器的背景颜色

        jf.setVisible(true);//使窗体可视化
        jf.setSize(200,150);//设置窗体的大小
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置窗体关闭的方式

        DrawIcon icon = new DrawIcon(15,15);
        JLabel jl = new JLabel("这是一个JFrame窗体",icon,SwingConstants.CENTER);//创建一个JLable标签
        container.add(jl);//将标签添加到容器中

    }
}
/**
 * 4图标的使用(图片)
 */

import javax.swing.*;
import java.awt.*;
import java.net.URL;

public class MyImageIcon extends JFrame {
    public MyImageIcon(){
//        JFrame jf = new JFrame();//实例化一个JFrame对象
//        Container container = jf.getContentPane();//获取一个容器
        Container container = getContentPane();
        JLabel jl = new JLabel("this is a Jframe",JLabel.CENTER);
        URL url = MyImageIcon.class.getResource("a.jpg");
        Icon icon = new ImageIcon(url);
        jl.setIcon(icon);
        jl.setHorizontalAlignment(SwingConstants.CENTER);
        jl.setOpaque(true);
        container.add(jl);
        setSize(250,100);
        setVisible(true);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new MyImageIcon();
    }
}
/**
 * 5绝对布局
 */

import javax.swing.*;
import java.awt.*;

public class AbsolutePosition extends JFrame {
    public AbsolutePosition(){
        setTitle("本窗体使用绝对布局");
        setLayout(null);
        setBounds(0,0,200,150);//绝对定位窗体的位置与大小
        Container c = getContentPane();
        JButton b1 = new JButton("按钮1");
        b1.setBounds(10,30,80,30);
        JButton b2 = new JButton("按钮2");
        b2.setBounds(60,70,100,20);
        c.add(b1);
        c.add(b2);
        setVisible(true);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    }

    public static void main(String[] args) {
        new AbsolutePosition();
    }
}
/**
 * 6流布局管理器
 */

import javax.swing.*;
import java.awt.*;

public class FlowLayoutPosition extends JFrame {
    public FlowLayoutPosition(){
        setTitle("本窗体使用流布局管理器");
        setSize(300,200);
        setVisible(true);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        Container c = getContentPane();
        setLayout(new FlowLayout(0,10,10));//align 0左 1中 2右
        for (int i = 0; i < 10; i++) {
            c.add(new JButton("button"+i));
        }
    }

    public static void main(String[] args) {
        new FlowLayoutPosition();
    }
}
import javax.swing.*;
import java.awt.*;

public class BorderLayoutPosition extends JFrame {

    String[] border = {BorderLayout.CENTER,BorderLayout.NORTH,BorderLayout.SOUTH,BorderLayout.WEST,BorderLayout.EAST};
    String[] buttonName = {"center button","north button","south button","west button","east button"};
    public BorderLayoutPosition(){
        setTitle("这个窗体使用边界布局管理器");
        Container c = getContentPane();
        setLayout(new BorderLayout());//设置容器为边界布局管理器
        for (int i = 0; i < this.border.length ; i++) {
            c.add(border[i],new JButton(this.buttonName[i]));
        }
        setSize(350,200);
        setVisible(true);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new BorderLayoutPosition();
    }
}
import javax.swing.*;
import java.awt.*;

public class GridLayoutPosition extends JFrame {
    public GridLayoutPosition(){
        Container c = getContentPane();
        setLayout(new GridLayout(7,3,5,5));
        for (int i = 0; i < 20; i++) {
            c.add(new JButton("button"+i));
        }
        setSize(300,300);
        setTitle("这是一个使用网格布局管理器的窗体");
        setVisible(true);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new GridLayoutPosition();
    }
}
/**
 * 常用面板1
 * JPanel
 */

import javax.swing.*;
import java.awt.*;

public class JPanelTest extends JFrame {

    public JPanelTest(){
        setTitle("JPanel面板");
        setVisible(true);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        Container c = getContentPane();
        c.setLayout(new GridLayout(2,1,10,10));
        JPanel p1 = new JPanel(new GridLayout(1,3,10,10));
        JPanel p2 = new JPanel(new GridLayout(1,2,10,10));
        JPanel p3 = new JPanel(new GridLayout(1,3,10,10));
        JPanel p4 = new JPanel(new GridLayout(2,1,10,10));
        for (int i = 1; i < 10 ; i++) {
            if(i3&&i5&&i7){
                p4.add(new JButton(""+i+""));
            }
        }
        c.add(p1);
        c.add(p2);
        c.add(p3);
        c.add(p4);
    }

    public static void main(String[] args) {
        new JPanelTest();
    }
}
import javax.swing.*;
import java.awt.*;

public class JScrollPaneTest extends JFrame {
    public JScrollPaneTest(){
        Container c = getContentPane();
        JTextArea ta = new JTextArea(20,20);//创建文本区域组件
        JScrollPane sp = new JScrollPane(ta);//创建JScrollPane面板对象
        c.add(sp);
        setTitle("带滚动条的文本编辑器");
        setVisible(true);
        setSize(200,200);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new JScrollPaneTest();
    }
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;

public class JButtonTest extends JFrame {
    public JButtonTest(){
        URL url = MyImageIcon.class.getResource("./WechatIMG220.png");
        Icon icon = new ImageIcon(url);
        setLayout(new GridLayout(3,2,5,5));//设置网格布局管理器
        Container c = getContentPane();
        for (int i = 0; i < 5; i++) {
            JButton j = new JButton("button"+i,icon);
            c.add(j);
            if (i%2 == 0){
                j.setEnabled(false);//设置其中一些按钮不可用
            }
        }
        JButton jb = new JButton();//创建一个没有文字图片的按钮
        jb.setMaximumSize(new Dimension(90,30));//设置按钮与图片相同大小
        jb.setIcon(icon);
        jb.setHideActionText(true);
        jb.setToolTipText("图片按钮");//设置按钮提示文字
        jb.setBorderPainted(false);//设置按钮编辑不显示
        jb.addActionListener(new ActionListener() {//监听按钮点击事件
            @Override
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showConfirmDialog(null,"弹出对话框");
            }
        });
        c.add(jb);
        setTitle("提交按钮组件");
        setVisible(true);
        setSize(400,400);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new JButtonTest();
    }
}
import javax.swing.*;
import java.awt.*;

public class JRadioButtonTest extends JFrame {
    public JRadioButtonTest(){
        Container c = getContentPane();
        setTitle("单选按钮");
        setSize(200,200);
        setVisible(true);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        c.setLayout(new GridLayout(1,1,10,10));
        JRadioButton jr1 = new JRadioButton("男");
        JRadioButton jr2 = new JRadioButton("女");
//        ButtonGroup group = new ButtonGroup();
//        group.add(jr1);
//        group.add(jr2);
        c.add(jr1);
        c.add(jr2);


    }

    public static void main(String[] args) {
        new JRadioButtonTest();
    }
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class CheckBoxTest extends JFrame {
    public CheckBoxTest(){
        Container c = getContentPane();
        setTitle("复选框按钮");
        setSize(200,200);
        setVisible(true);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        c.setLayout(new GridLayout(1,1,10,10));
        JCheckBox cb1 = new JCheckBox("足球");
        JCheckBox cb2 = new JCheckBox("篮球");
        c.add(cb1);
        c.add(cb2);
        cb1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showConfirmDialog(null,"足球");
            }
        });
        cb2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showConfirmDialog(null,"足球");
            }
        });
    }

    public static void main(String[] args) {
        new CheckBoxTest();
    }
}
import javax.swing.*;
import java.awt.*;

public class JComboxModelTest extends JFrame {
    JComboBox jc = new JComboBox(new MyComboBox());
    JLabel jl = new JLabel("请选择证件");
    public JComboxModelTest(){
        Container c = getContentPane();
        c.setLayout(new FlowLayout());
        c.add(jl);
        c.add(jc);
        setTitle("复选框");
        setVisible(true);
        setSize(200,200);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
        new JComboxModelTest();
    }

}

class MyComboBox extends AbstractListModel implements ComboBoxModel{
    String selecteditem = null;
    String[] test = {"身份证","军人证","学生证","工作证"};
    public String getElementAt(int index){
        return test[index];
    }
    public int getSize(){
        return test.length;
    }

    public void setSelectedItem(Object item){
        selecteditem = (String)item;
    }

    public Object getSelectedItem(){
        return selecteditem;
    }

}
import javax.swing.*;
import javax.swing.event.AncestorEvent;
import javax.swing.event.AncestorListener;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class JTextFieldTest extends JFrame {
    public JTextFieldTest(){
        Container c = getContentPane();
        c.setLayout(new FlowLayout());
        setTitle("文本框、密码");
        setVisible(true);
        setSize(200,200);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        final JTextField jt = new JTextField(50);
        final JPasswordField jp = new JPasswordField(50);
        final JTextArea jf = new JTextArea(6,6);
        final JButton jb = new JButton("清除");
        c.add(jt);
        c.add(jp);
        c.add(jf);
        c.add(jb);
        jt.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                jt.setText("触发事件");
            }
        });
        jp.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                jp.setText("触发事件");
            }
        });

        jb.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                jt.setText("");
                jt.requestFocus();
                jp.setText("");
                jp.requestFocus();
                jf.setText("");
                jf.requestFocus();
            }
        });

    }

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

 

 

关注
打赏
1664335782
查看更多评论
立即登录/注册

微信扫码登录

0.0541s