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

时间:2015-07-01 15:32:55

标签: java swing user-interface

我想在for (i in 1:length(files)){ temp <- read_excel(files[i], sheet = 1, skip = 6) } 课程中创建菜单按钮,然后将菜单添加到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();
    }

}

1 个答案:

答案 0 :(得分:4)

  1. 最重要的是:摆脱setLayout(null)setBounds(...)因为这将导致极难创建和调整GUI。学习和使用布局管理器。
  2. 在新课程中创建您的JButtons,屏幕
  3. 将它们添加到this,屏幕JPanel但首先给它一个不错的布局管理器,例如GridLayout,
  4. 在另一个类中,创建一个JFrame类的实例和一个Screen对象的实例,并将Screen JPanel添加到您想要的任何所需位置的JFrame的contentPane中,无论是BorderLayout.CENTER还是其中之一其他地方。
  5. 同样,最重要的是:谷歌和学习布局管理器教程。 Here's the link

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