Java实验08

实验一

demo.java

package q8.demo02;

public class demo{
    public static void main(String[] args) {
        WindowMenu win = new WindowMenu("Hello World",20,30,600,290);
    }
}

WindowMenu.java

package q8.demo02;
import javax.swing.*;

public class WindowMenu extends JFrame{
    JMenuBar menubar;
    JMenu menu1,menu2,menu3;//状态栏菜单
    JMenuItem Item1,Item2,Item3,Item3_1,Item3_2;

    //public WindowMenu(){}

    public WindowMenu(String s, int x, int y, int w, int h){
        init(s);
        setLocation(x,y);
        setSize(w,h);
        setVisible(true);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    }

    void  init(String s){
        setTitle(s);//设置标题
        menubar = new JMenuBar();

        menu1 = new JMenu("文件");
        menu2 = new JMenu("编辑");
        menu3 = new JMenu("帮助");

        Item1 = new JMenuItem("新建(N)");
        Item2 = new JMenuItem("打开(O)");
        Item3 = new JMenu("退出(E)");

        Item3_1 = new JMenuItem("重启");
        Item3_2 = new JMenuItem("退出");


        menu1.add(Item1);//按钮新建
        menu1.add(Item2);//按钮打开
        menu1.addSeparator();//分割线

        menu1.add(Item3);//按钮退出
        //添加二级菜单
        Item3.add(Item3_1);
        Item3.add(Item3_2);



        setJMenuBar(menubar);//设置状态栏菜单
        menubar.add(menu1);//添加菜单menu123
        menubar.add(menu2);
        menubar.add(menu3);
    }
}

实验二

Demo.java

package q8.demo03;


public class Demo {
        public static void main(String[] args) {
            new ShowLayout();
        }
    }


ShowLayout.java

package q8.demo03;
import java.awt.*;
import javax.swing.*;

public class ShowLayout extends JFrame {
    PanelGridLayout panelGrid;
    PanelNullLayout panelNull;
    JTabbedPane p;
    ShowLayout(){
        setTitle("背包");
        panelGrid = new PanelGridLayout();
        panelNull = new PanelNullLayout();
        p = new JTabbedPane();
        p.add("武器",panelGrid);
        p.add("法器",panelNull);
        add(p,BorderLayout.CENTER);
        add(p,BorderLayout.CENTER);
        setBounds(300,100,600,600);
        setVisible(true);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        validate();
    }
}

PanelGridLayout.java

package q8.demo03;
import java.awt.*;
import javax.swing.*;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
public class PanelGridLayout extends JPanel {
    PanelGridLayout(){
        GridLayout grid = new GridLayout(5,5);
        String[] texts = {
                "蛟龙铲",
                "祁水",
                "琉璃",
                "夷图",
                "若禅",
                "应龙斧",
                "虬龙棍",
                "蟠龙杖",
                "蛟龙弓",
                "蝴蝶",
                "知汝",
                "梦江",
                "天殇",
                "天罪",
                "天残",
                "天荒",
                "银弹金弓",
                "花宴",
                "不朽花翼",
                "破幻花链",
                "镇魂花坠",
                "苍龙戒",
                "阴阳斩龙剑",
                "青龙剑",
                "混元珍珠伞",
        };
        setLayout(grid);
        JLabel label[][] = new JLabel[5][5];
        JLabel textLabel[][] = new JLabel[5][5];
        for (int j =0; j < 5; j++){
            for (int i = 0; i < 5; i++){
                label[i][j] = new JLabel();
                int imageIndex = (j * 5) + i + 1; // 计算当前图片的索引
                String imagePath = "src\\pictures\\arms (" + imageIndex + ").png";

                label[i][j] = new JLabel();
                textLabel[i][j] = new JLabel();
                if (imageIndex <= texts.length) {
                    textLabel[i][j].setText(texts[imageIndex - 1]);
                }

                if (new java.io.File(imagePath).exists()) {
                    label[i][j].setIcon(new ImageIcon(imagePath));
                } else {
                    System.out.println("没有找到: " + imagePath);
                }
                JPanel container = new JPanel(new BorderLayout());
                container.add(label[i][j], BorderLayout.CENTER);
                container.add(textLabel[i][j], BorderLayout.SOUTH);
                add(container);
            }
        }
    }
}



PanelNullLayout.java

package q8.demo03;
import java.awt.*;
import javax.swing.*;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
public class PanelNullLayout extends JPanel{
    PanelNullLayout(){
        GridLayout grid = new GridLayout(5,5);
        String[] texts = {
                "间忏无形铲",
                "间忏千斤锤",
                "间忏鬼牙耙",
                "间忏殉道书",
                "间忏绝情杖",
                "间忏拳套",
                "间忏逍遥棍",
                "间忏脩夜刀",
                "间忏附灵杵",
                "间忏承影剑",
                "间忏七星枪",
                "间忏夜魔弓",
                "开阳禅杖",
                "开阳灵棒",
                "摇光剑",
                "神将剑",
                "暮雪剑",
                "归墟剑",
                "无极剑",
                "开阳剑",
                "开阳铲",
                "开阳钉耙",
                "开阳灵枪",
                "开阳灵刃",
                "赤龙枪",
        };
        setLayout(grid);
        JLabel label[][] = new JLabel[5][5];
        JLabel textLabel[][] = new JLabel[5][5];
        for (int j =0; j < 5; j++){
            for (int i = 0; i < 5; i++){
                label[i][j] = new JLabel();
                int imageIndex = (j * 5) + i + 1;
                String imagePath = "src\\pictures\\weapon (" + imageIndex + ").png";

                label[i][j] = new JLabel();
                textLabel[i][j] = new JLabel();
                if (imageIndex <= texts.length) {
                    textLabel[i][j].setText(texts[imageIndex - 1]);
                }

                if (new java.io.File(imagePath).exists()) {
                    label[i][j].setIcon(new ImageIcon(imagePath));
                }
                else {
                    System.out.println("没有找到: " + imagePath);
                }
                JPanel container = new JPanel(new BorderLayout());
                container.add(label[i][j], BorderLayout.CENTER);
                container.add(textLabel[i][j], BorderLayout.SOUTH);
                add(container);
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值