我的世界服务器钟表菜单怎么制作,[管理]ClockGUI —— 一款简单易用的钟表菜单插件v1.8[1.14.x-1.16.x]...

更新后重载报错,右键不出GUI

[22:21:00 警告]: Unexpected exception while parsing console command "clock reload"

org.bukkit.command.CommandException: Unhandled exception executing command 'clock' in plugin ClockGUI v1.2

at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[PluginCommand.class:1.7.10-R0.1-SNAPSHOT]

at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[SimpleCommandMap.class:1.7.10-R0.1-SNAPSHOT]

at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:717) ~[CraftSe

rver.class:1.7.10-R0.1-SNAPSHOT]

at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchServerCommand(CraftServer.java:697) [CraftServer.class:1.7.10-R0.1-SNAPSHOT]

at net.minecraft.server.dedicated.DedicatedServer.func_71333_ah(DedicatedServer.java:473) [lt.

class:?]

at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:432) [lt.class:?]

at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:809) [MinecraftServer.class:?]

at net.minecraft.server.MinecraftServer.r

un(MinecraftServer.java:669) [MinecraftServer.class:?]

at java.lang.Thread.run(Unknown Source) [?:?]

Caused by: java.lang.NoClassDefFoundError: org/bukkit/inventory/ItemFlag

at clockGUI.ClockGUI.loadConfig(ClockGUI.java:289) ~[ClockGUI.jar:?]

at clockGUI.Cl

ockGUI.onCommand(ClockGUI.java:610) ~[ClockGUI.jar:?]

at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[PluginCommand.class:1.7.10-R0.1-SNAPSHOT]

... 8 more

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
制作一个简易钟表可以分为以下几个步骤: 1. 创建一个 Java 项目并导入需要的依赖库。 2. 创建一个窗口并设置窗口的大小和标题。 3. 创建一个 JPanel 并将其添加到窗口中。 4. 在 JPanel 中绘制钟表的表盘和指针。可以使用 Java 提供的 Graphics2D 类进行绘制。 5. 使用 Java 提供的 Timer 类实现钟表的时针和分针的运动。可以通过计算当前时间来确定时针和分针的角度,并在每秒钟更新它们的位置。 下面是一个简单的 Java 代码示例,可以实现一个简单钟表: ``` import java.awt.*; import javax.swing.*; import java.util.*; import java.text.*; public class Clock extends JPanel { private int hour; private int minute; private int second; public void setTime() { Calendar now = Calendar.getInstance(); hour = now.get(Calendar.HOUR_OF_DAY); minute = now.get(Calendar.MINUTE); second = now.get(Calendar.SECOND); } public void paint(Graphics g) { super.paint(g); Graphics2D g2d = (Graphics2D) g; g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); int width = getWidth(); int height = getHeight(); int cx = width / 2; int cy = height / 2; int radius = Math.min(width, height) / 2 - 5; g2d.setColor(Color.WHITE); g2d.fillOval(cx - radius, cy - radius, 2 * radius, 2 * radius); g2d.setColor(Color.BLACK); g2d.drawOval(cx - radius, cy - radius, 2 * radius, 2 * radius); for (int i = 0; i < 12; i++) { double angle = Math.PI / 6 * i; int x1 = (int) (cx + (radius - 20) * Math.sin(angle)); int y1 = (int) (cy - (radius - 20) * Math.cos(angle)); int x2 = (int) (cx + radius * Math.sin(angle)); int y2 = (int) (cy - radius * Math.cos(angle)); g2d.drawLine(x1, y1, x2, y2); } double hourAngle = Math.PI / 6 * (hour % 12) + Math.PI / 360 * minute; double minuteAngle = Math.PI / 30 * minute; double secondAngle = Math.PI / 30 * second; int hourHand = radius / 2; int minuteHand = radius * 3 / 4; int secondHand = radius - 10; g2d.setStroke(new BasicStroke(3)); g2d.setColor(Color.RED); int x1 = (int) (cx + hourHand * Math.sin(hourAngle)); int y1 = (int) (cy - hourHand * Math.cos(hourAngle)); g2d.drawLine(cx, cy, x1, y1); g2d.setStroke(new BasicStroke(2)); g2d.setColor(Color.BLACK); x1 = (int) (cx + minuteHand * Math.sin(minuteAngle)); y1 = (int) (cy - minuteHand * Math.cos(minuteAngle)); g2d.drawLine(cx, cy, x1, y1); g2d.setStroke(new BasicStroke(1)); g2d.setColor(Color.BLUE); x1 = (int) (cx + secondHand * Math.sin(secondAngle)); y1 = (int) (cy - secondHand * Math.cos(secondAngle)); g2d.drawLine(cx, cy, x1, y1); } public static void main(String[] args) { JFrame frame = new JFrame("Clock"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 300); frame.setResizable(false); frame.setLocationRelativeTo(null); Clock clock = new Clock(); frame.add(clock); Timer timer = new Timer(1000, e -> { clock.setTime(); clock.repaint(); }); timer.start(); frame.setVisible(true); } } ``` 运行程序后,将会显示一个简单钟表窗口,该窗口会不断地更新时间,并绘制出钟表的表盘和指针,效果如下图所示: ![clock.png](https://cdn.jsdelivr.net/gh/krislinzhao/ImgHosting/Java/clock.png)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值