java gui цвет фона не покрывает всю страницу - PullRequest
0 голосов
/ 20 июня 2020

Когда я создал свой gui в java, я установил цвет фона на черный sh, и кажется, что в правой и нижней частях моего gui есть белая линия пикселей. Однако, когда я изменяю размер этого gui, подобное исчезает, и gui становится полностью черным. Кто-нибудь знает, почему это происходит? Мне нужно, чтобы мой gui установил для параметра resizeable значение false, поэтому изменение размера gui для решения этой проблемы не сработает.

package JavaQuizGameTut;
import java.awt.ActiveEvent.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import javax.swing.*;
public class Quiz implements ActionListener{

    String[] questions = {
            "Which company created Java?", 
            "What year was Java created?",
            "What was java originally called?",
            "Who was credited for making java?"
        };
    String[][] options = {{"Sun Microsystems", "Starbucks", "Microsoft", "Alphabet"},
                        {"1989", "1996", "1972", "1492"},
                        {"Apple", "Latte", "Oak", "Koffing"},
                        {"Steve Jobs", "Bill Gates", "James Gosling", "Mark Zuckerburg"}
                        };
    char[] answers = {'A', 'B', 'C', 'C'};
    char guess;
    char answer;
    int index;
    int correct_guesses = 0;
    int total_questions = questions.length;
    int result;
    int seconds;

    JFrame frame = new JFrame();
    JTextField textfield = new JTextField();
    JTextArea textarea = new JTextArea();
    JButton buttonA = new JButton();
    JButton buttonB = new JButton();
    JButton buttonC = new JButton();
    JButton buttonD = new JButton();
    JLabel answer_labelA = new JLabel();
    JLabel answer_labelB = new JLabel();
    JLabel answer_labelC = new JLabel();
    JLabel answer_labelD = new JLabel();
    JLabel time_label = new JLabel();
    JLabel seconds_left = new JLabel();
    JTextField number_right = new JTextField();
    JTextField percentage = new JTextField();




    public Quiz() {
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(650, 650);
        frame.getContentPane().setBackground(new Color(50, 50, 50));
        frame.setLayout(null);
        // frame.setResizable(false);

        textfield.setBounds(0, 0, 650, 50);
        textfield.setBackground(new Color(25,25, 25));
        textfield.setForeground(new Color(25, 255, 0));
        textfield.setFont(new Font("Ink Free", Font.PLAIN, 30));
        textfield.setBorder(BorderFactory.createBevelBorder(1));
        textfield.setHorizontalAlignment(JTextField.CENTER);
        textfield.setEditable(false);

        frame.add(textfield);



        frame.setVisible(true);

    }
    public void nextQuestion() {

    }
    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub

    }
    public void displayAnswer() {

    }
    public void results() {

    }
}

Image of my gui

1 Ответ

0 голосов
/ 20 июня 2020

Цвет фона покрывает весь фрейм только потому, что вы видите серую полосу над ним, потому что вы поместили текстовое поле поверх него и установили серый цвет фона. Как здесь:

textfield.setBounds(0, 0, 650, 50);
textfield.setBackground(new Color(25,25, 25));

Попробуйте изменить цвет текстового поля или временно прокомментировать его, и вы увидите, что весь фрейм станет черным.

Если ничего не исправит, значит, с вашей системой что-то не так. работает нормально в моей системе. Посмотри это

Вы можете попробовать запустить его в другой системе.

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