韩顺平java 第32讲 swing编程实战

拆分窗格 JSplitPane和多行文本框组件JTextArea

JSplitPane属于容器类组件。

package chen.com;
import java.awt.*;
import javax.swing.*;

public class MyClass extends JFrame {
    JSplitPane jsp;
    JList jList;
    JLabel jl1;
    JTextArea jt;
    JScrollPane jscroll;
    public static void main(String[] args) {
        MyClass myclass = new MyClass();
    }
    public MyClass(){
        //创建组件
        String []words = {"boy","girl","hello"};
        jList = new JList(words);
        jl1 = new JLabel(new ImageIcon("images/1.png"));
        jt = new JTextArea();
        jscroll = new JScrollPane(jt);
        jscroll.setSize(10, 10);

        //拆分窗格
        jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jList,jl1);
        jsp.setOneTouchExpandable(true);

        //添加组件  
        this.setLayout(new GridLayout(2,1));
        this.add(jsp);
        this.add(jscroll);

        this.setSize(500,400);
        this.setLocation(200,300);
        this.setIconImage(new ImageIcon("images/qie.png").getImage());
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }
}

这里写图片描述


JTabbedPane 选项卡

package chen.com;
import java.awt.*;
import java.awt.image.ImageObserver;
import java.awt.image.ImageProducer;

import javax.swing.*;

public class MyClass extends JFrame {
    JTabbedPane jtp;
    JPanel jp1,jp2,jp3;
    JLabel jl1,jl2,jl3;
    public static void main(String[] args) {
        MyClass myclass = new MyClass();
    }
    public MyClass(){
        //创建组件
        jtp = new JTabbedPane();
        jp1 = new JPanel();
        jp2 = new JPanel();
        jp3 = new JPanel();
        jp3.setBackground(Color.GRAY);
        jl1 = new JLabel("选项卡1",JLabel.CENTER);
        jl2 = new JLabel("选项卡2",JLabel.CENTER);
        jl3 = new JLabel("选项卡3",JLabel.CENTER);
        jl1.setFont(new Font("宋体",Font.PLAIN,16));//设置字体样式
        jl2.setForeground(Color.BLUE);//设置字体颜色
        jl3.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));//鼠标移动上去有一只手

        jp1.add(jl1);
        jp2.add(jl2);
        jp3.add(jl3);

        jtp.add(" 1 ",jp1);
        jtp.add(" 2 ",jp2);
        jtp.add(" 3 ",jp3);

        this.add(jtp);

        this.setSize(500,400);
        this.setLocation(200,300);
        this.setIconImage(new ImageIcon("images/qie.png").getImage());
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }
}

这里写图片描述


记事本界面

package chen.com;
import java.awt.*;
import java.awt.image.ImageObserver;
import java.awt.image.ImageProducer;

import javax.swing.*;

public class Notepad extends JFrame {
    JMenuBar jmb;//菜单条组件
    JMenu menu1,menu2,menu3,menu4,menu5;
    JMenuItem item1,item2,item3,item4,item5,item6,item7;
    JMenu xinjian;//二级菜单
    JMenuItem file,project;
    JTextArea jta;
    JScrollPane jsp;

    JToolBar jtb;
    JButton jb1,jb2,jb3;

    public static void main(String[] args) {
        Notepad myclass = new Notepad();
    }
    public Notepad(){
        //创建组件
        jtb = new JToolBar();   //图片当做按钮
        jb1 = new JButton(new ImageIcon("images/xinjian.png"));
        jb1.setToolTipText("新建");
        jb2 = new JButton(new ImageIcon("images/dakai.png"));
        jb2.setToolTipText("打开");
        jb3 = new JButton(new ImageIcon("images/zuijin.png"));
        jb3.setToolTipText("最近");

        jmb = new JMenuBar();
        menu1 = new JMenu("文件(F)");
        menu1.setMnemonic('f');      //助记符
        menu2 = new JMenu("编辑(E)");
        menu1.setMnemonic('E');
        menu3 = new JMenu("格式(O)");
        menu1.setMnemonic('O');
        menu4 = new JMenu("查看(V)");
        menu1.setMnemonic('V');
        menu5 = new JMenu("帮助(H)");
        menu1.setMnemonic('H');

        xinjian = new JMenu("新建");
        file = new JMenuItem("文件");
        project = new JMenuItem("工程");

        item2 = new JMenuItem("打开",new ImageIcon("dakai.png"));
        item3 = new JMenuItem("保存s");
        item3.setMnemonic('S');
        item4 = new JMenuItem("另存为");
        item5 = new JMenuItem("页面设置");
        item6 = new JMenuItem("打印");
        item7 = new JMenuItem("退出");

        jta = new JTextArea();

        //设置布局

        //添加组件
        //将按钮添加到工具条上
        jtb.add(jb1);
        jtb.add(jb2);
        jtb.add(jb3);

        //将菜单项添加到菜单上
        xinjian.add(file);
        xinjian.add(project);

        menu1.add(xinjian);
        menu1.add(item2);
        menu1.add(item3);
        menu1.add(item4);
        menu1.addSeparator();//添加分割线
        menu1.add(item5);
        menu1.add(item6);
        menu1.addSeparator();
        menu1.add(item7);

        jmb.add(menu1);
        jmb.add(menu2);
        jmb.add(menu3);
        jmb.add(menu4);
        jmb.add(menu5);

        //将菜单条添加到窗体上
        this.setJMenuBar(jmb);


        //将工具条添加到窗体上
        this.add(jtb,BorderLayout.NORTH);

        jsp = new JScrollPane(jta);
        jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        this.add(jsp);

        this.setSize(500,400);
        this.setLocation(200,300);
        this.setTitle("记事本");
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值