当前位置: 首页 > news >正文

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);//添加菜单menu123menubar.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);}}}
}
http://www.lryc.cn/news/355051.html

相关文章:

  • MyBatis复习笔记
  • HTML的基石:区块标签与小语义标签的深度解析
  • Windows域控简介
  • 项目延期,不要随意加派人手
  • 帝国CMS验证码不显示怎么回事呢?
  • 【必会面试题】Redis 中的 zset数据结构
  • 括号匹配数据结构
  • c语言:strcmp
  • 传统关系型数据库与hive的区别
  • windows-386、windows-amd64、windows-arm64这三者有什么区别?
  • 链表经典题目—相交链表和链表倒数第k个节点
  • Java 写入 influxdb
  • npm的基本命令和用法
  • Python 基于深度图、RGB图生成RGBD点云数据
  • 力扣刷题--LCR 075. 数组的相对排序【简单】
  • 机器学习笔记——K近邻算法、手写数字识别
  • 基于STM32实现智能园艺系统
  • 网络原理-HTTP协议
  • 【ES001】elasticsearch实战经验总结(最近更新中)
  • OpenBayes 一周速览|TripoSR 开源:1 秒即 2D 变 3D、经典 GTZAN 音乐数据集上线
  • 【论文笔记】advPattern
  • 【鱼眼镜头11】Kannala-Brandt模型和Scaramuzza多项式模型区别,哪个更好?
  • 微信小程序仿胖东来轮播和背景效果(有效果图)
  • 10.SpringBoot 统一处理功能
  • 【八股系列】为什么会有webpack配置?webpack的构建流程是什么?
  • sdf 测试-2-openssl
  • 头歌springboot初体验
  • 矩阵对角化在机器学习中的奥秘与应用
  • 操作MySQL数据库
  • Linux shell 文件生成文件脚本(模拟生成文件、生成大量文件)