Невозможно добавить кнопку в графический интерфейс - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь добавить простой JButton к JPanel в моей программе. Проблема в том, что когда я запускаю проблему, я не вижу никакой кнопки вообще.

Это мой код:

import java.awt.CardLayout;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class GuiStopwatch { 
    public GuiStopwatch() {
        JPanel panel = new JPanel();
        JButton Startbtn = new JButton("START");          
        panel.add(Startbtn);
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame("Stopwatch");

        frame.setSize(600, 600);
        frame.setLayout(new FlowLayout());
        frame.setVisible(true);
        frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
    }
}

Могу ли я узнать, что я сделал не так и как это исправить?

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Вы можете поменять объекты, создать все, что вам нужно для вашего фрейма, в конструкторе, что делает код более организованным, а также вы можете использовать его в других классах, использование метода main ограничит ваши возможности и сделает код неорганизованный

Смотрите здесь пример:

public GuiStopwatch() {

    setTitle("Stopwatch");
    setSize(600, 600);

    // Create JButton and JPanel
    JButton button = new JButton("START");
    JPanel panel = new JPanel();

    panel.add(button);
    this.getContentPane().add(panel);

    setVisible(true);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
}

public static void main(String[] args) {

    GuiStopwatch guistopwatch = new GuiStopwatch();
}
0 голосов
/ 15 мая 2018

Вы не добавляете панель к фрейму в любой точке.

РЕДАКТИРОВАТЬ Вот код, который вам понадобится, если вы хотите его отдельным способом:

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

public class GuiStopwatch {


private static void stopwatch(JFrame frame) {

    JPanel panel = new JPanel();
    JButton Startbtn = new JButton("START");
    panel.add(Startbtn);
    frame.add(panel);

}


public static void main(String[] args) {
    JFrame frame = new JFrame("Stopwatch");

    stopwatch(frame);

    frame.setSize(600, 600);
    frame.setLayout(new FlowLayout());
    frame.setVisible(true);
    frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);

}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...