gpt4 book ai didi

java - 将类与按钮和框架相结合 - GUI

转载 作者:行者123 更新时间:2023-11-29 03:07:51 26 4
gpt4 key购买 nike

我想在 Screen 类中创建菜单按钮,然后将菜单添加到 frame 中。我不知道它有什么问题。如何在其他类中创建按钮并将其添加到框架中?

我的框架类:

import java.awt.*;
import java.io.*;
import javax.imageio.ImageIO;
import javax.swing.*;


public class Start extends JFrame {

public static String title = "Bozenka";
public static Dimension size = new Dimension(700,500);
public static String backgroundPath = "/home/alpha_coder/Eclipse/Bozenka/images/bg.jpg";

public Start(){
setTitle(title);
setSize(size);
setLayout(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(null);
setResizable(false);
initialization();
}

public void initialization(){
Screen screen = new Screen();
screen.setBounds(20, 20, 660, 60);
add(screen);
try {
setContentPane(new JLabel(new ImageIcon(ImageIO.read(new File(backgroundPath)))));
setBackground(Color.WHITE);
} catch (IOException e) {
System.out.println("Image doesn't exist");
}

setVisible(true);

}

public static void main(String[] args){
Start start = new Start();
}

}

我要创建菜单的类:

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

public class Screen extends JPanel{

public JButton test;

public Screen(){
setBackground(Color.pink);
test = new JButton("test");
test.setBounds(2, 2, 40, 10);
}


}

最佳答案

  1. 最重要的是:摆脱setLayout(null)setBounds(...),因为这将导致极其难以创建和调整 GUI。学习和使用布局管理器。
  2. 在新类 Screen 中创建 JButton
  3. 将它们添加到 this,即 Screen JPanel,但首先要给它一个像样的布局管理器,例如 GridLayout,
  4. 在另一个类中,创建 JFrame 类的实例和 Screen 对象的实例,然后将 Screen JPanel 添加到 JFrame 的 contentPane 中所需的任何所需位置,可以是 BorderLayout.CENTER 或其他位置之一。

同样,最重要的是:谷歌并研究布局管理器教程。 Here's the link .

请注意,当前代码的一个主要问题是您将 JButton 添加到nothing。它需要添加到屏幕,添加到 this 以使您的代码以任何方式工作。

关于java - 将类与按钮和框架相结合 - GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31165719/

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