【问题标题】:Adding button to Frame将按钮添加到框架
【发布时间】:2016-04-10 18:30:21
【问题描述】:

在谈到 Java 时,我从未真正使用过 GUI。我正在尝试向 JFrame 添加一个简单的按钮,但它没有添加。这是我在网上看到的方式,有人可以指出我做错了什么吗?

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

public class WavPlayer 
{       
    public void go()
    {
        JFrame frame = new JFrame("Wav Player");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //JButton play = new JButton("test");
        play = new JButton("Test");
        frame.setSize(500, 500);
        add(play);          
    }

    public static void main(String [] args)
    {
        WavPlayer player = new WavPlayer();
        player.go();
    }
}

【问题讨论】:

  • This is the way that I have been seeing online - 我建议您忘记您正在查找的当前在线代码,并从 Swing Tutorrial 开始。所有 Swing 组件都有工作示例,并且代码的结构将比您发布的当前代码更好。

标签: java swing button frame


【解决方案1】:

您必须指定要添加按钮的位置。

使用frame.add(play) 代替add(play)

此代码中还有其他几个错误,您必须说明“播放”的类型。 要真正看到某些东西,您必须设置 Frame 的可见性。

这是我的代码解决您的问题(我重命名了课程,您必须更改它):

public void go(){
    JFrame frame = new JFrame("Wav Player");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JButton play = new JButton("Test");
    frame.setSize(500, 500);
    frame.add(play);
    frame.setVisible(true);
}

public static void main(String [] args)
{
    Main player = new Main();
    player.go();
}

【讨论】:

  • 这似乎解决了添加它的错误,但是它在这里很适合。 play = new JButton("测试");有没有更好的方法来制作按钮?
  • 合不合适?我不明白你的意思。
  • 抱歉,它在 eclipse 中抛出了一个错误。错误是 play 无法解析为变量。
  • 修改了我的解决方案。
  • you have to set the visibility of your Frame. - 是的,但这应该是所有组件都添加到框架后调用的最后一条语句。
猜你喜欢
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
  • 2014-01-31
  • 1970-01-01
  • 2011-10-31
  • 2014-01-03
  • 1970-01-01
相关资源
最近更新 更多