gpt4 book ai didi

java - 由于编译器错误和警告,我无法运行 JFrame

转载 作者:行者123 更新时间:2023-12-01 13:34:56 25 4
gpt4 key购买 nike

*对于给你们带来的所有麻烦,我深表歉意。

所以,我对编程非常陌生,只有一点 Java 和 Python 经验。我试图制作一个可以打开框架的程序。在这个框架中会有一个按钮。单击此按钮后,将播放歌曲。我使用了 YouTube 上的“推荐”代码。代码将开始运行,然后停止。甚至不会出现任何框架。我把它展示给我的一位更有经验的 friend 。他说确切的代码在他的计算机上运行得很好。然后我给他发了一张我的项目在 Eclipse 上显示的屏幕截图。他说我的JRE好像缺少一些文件。我尝试了一个只会创建一个窗口的代码,但它也有同样的问题。我不确定 JRE 是什么,但我目前有 JRE7。我不知道我应该做什么来解决这个问题。请帮忙。

错误列表

Severity and Description    Path    Resource    Location    Creation Time   Id
The public type TopLevelWindow must be defined in its own file TGProject/src Frame.java line 4 1390698271752 73
The type TopLevelWindow is already defined TGProject/src TopLevelWindow.java Unknown 1390699351785 77
The method show(boolean) from the type Component is deprecated TGProject/src sound.java line 16 1390702839525 78

指向我的 Eclipse 显示内容的链接。 http://gyazo.com/3afdfa4f6750420f4e46deec40389340

指向我的 Java 文件的链接。 http://gyazo.com/257481d4ae9e2bb1d0ca93415a6c547e音乐代码

import java.awt.event.*;
import javax.swing.*;
import sun.audio.*;
import java.io.*;

public class sound {

public static void main(String[] args)
{
JFrame frame = new JFrame();
frame.setSize(200,200);
JButton button = new JButton("Click me");
frame.add(button);
button.addActionListener(new AL());
//this is outdated, but should still work
frame.show(true);
}
public static class AL implements ActionListener{
public final void actionPerformed(ActionEvent e) {
music();
}}

public static void music()
{
AudioPlayer MGP = AudioPlayer.player;
AudioStream BGM;
AudioData MD;
ContinuousAudioDataStream loop = null;

try{
BGM = new AudioStream(new FileInputStream("Jambi.mp3"));
MD = BGM.getData();
loop = new ContinuousAudioDataStream(MD);
}catch(IOException error) {}

MGP.start(loop);
}

}

框架代码

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

// Create a simple GUI window
public class TopLevelWindow {

private static void createWindow() {

//Create and set up the window.
JFrame frame = new JFrame("Simple GUI");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JLabel textLabel = new JLabel("I'm a label in the window",SwingConstants.CENTER);
textLabel.setPreferredSize(new Dimension(300, 100));
frame.getContentPane().add(textLabel, BorderLayout.CENTER);

//Display the window.
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
}

public static void main(String[] args) {

createWindow();

}
}

最佳答案

错误1

The public type TopLevelWindow must be defined in its own file

你要么需要改变。

public class TopLevelWindow {

致:

class TopLevelWindow {

或者按照报告进行操作并为 TopLevelWindow 声明一个新类

错误2

The type TopLevelWindow is already defined  

我不确定这意味着什么,但解决第一个问题可能会解决它。

警告3

The method show(boolean) from the type Component is deprecated

对于任何弃用警告,请转到 Java Docs 中的相关方法。他们应该提供有关使用什么的详细信息。

提示

  • 经常编译,一旦出现单个不明白的错误就立即询问。
  • 不要尝试运行在该窗口中显示问题的代码。只有专家才应该尝试一下。
  • 用蜂蜜比用醋捕获更多苍蝇。不要采取你对 Jayan 的语气,即使你认为他们很严厉。人们免费提供帮助,因此几乎没有时间回答不符合标准的问题。向对方解释问题现在已经改变可能会更好。也许这对他们来说没有什么影响,但无论如何,添加这种回复都会阻止每个人提供帮助。
  • “我使用了 YouTube 上的“推荐”代码。” 不要使用 YouTube 视频来学习编程。它们通常很旧,在这种情况下,它们正在使用 sun 包中的类,自 Java 1.3 以来,这些类已有更好的替代品。

关于java - 由于编译器错误和警告,我无法运行 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21358791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com