Как добавить JButton в JFrame? - PullRequest
       65

Как добавить JButton в JFrame?

0 голосов
/ 15 ноября 2018

Я пытался добавить кнопку к JFrame, но по какой-то причине она не появится.Как мне сделать так, чтобы это появилось?

import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.border.Border;
import javax.swing.BorderFactory;
import java.awt.Color;
import java.awt.Container;
import java.awt.Rectangle;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.*;

public class GraficoconArreglo extends javax.swing.JFrame {
 JPanel pan = (JPanel) this.getContentPane();
 JLabel []lab = new JLabel[6];
 JTextField []text = new JTextField[6];
 Border border = BorderFactory.createLineBorder(Color.pink,1);
 JButton b = new JButton("Calculate");

public GraficoconArreglo() {
    initComponents();
    pan.setLayout(null);
    pan.setBackground(Color.GRAY);
    for(int i=0; i<lab.length ;i++){
        lab[i] = new JLabel();
        text[i] = new JTextField();

        lab[i].setBounds(new Rectangle(15,(i+1)*40, 60, 25));
        lab[i].setText("Data " + (i+1));
        lab[i].setBorder(border);
        text[i].setBounds(new Rectangle(100,(i+1)*40, 60, 25));

        pan.add(lab[i],null);
        pan.add(text[i],null);

        setSize(200,330);
        setTitle("Arrays in forums.");

        add(b);
        b.addActionListener((ActionListener) this);
    }        
}

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Вы должны добавить кнопку на панель содержимого, а не JFrame. Рабочий код для этого, предоставленный SwingDesigner из Eclipse Marketplace, будет выглядеть так:

public class Window extends JFrame {

private JPanel contentPane;

/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                Window frame = new Window();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the frame.
 */
public Window() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    contentPane.setLayout(null);
    setContentPane(contentPane);

    JButton btnNewButton = new JButton("New button");
    btnNewButton.setBounds(170, 110, 89, 23);
    contentPane.add(btnNewButton);
}

}

0 голосов
/ 15 ноября 2018

Вы создаете только одну кнопку и добавляете ее в 6 разных мест. Следовательно, вы увидите его только в последнем добавленном вами месте.

...