Java Простой JFrame не будет показывать заголовок - PullRequest
0 голосов
/ 17 января 2020

У меня очень простой JFrame, это даже пример, и независимо от того, что я пытаюсь, я не могу заставить JFrame показывать заголовок.

public class Builder{
    public static void main(String s[]) {  
        JFrame frame = new JFrame("JFrame Example");  
        JPanel panel = new JPanel();  
        panel.setLayout(new FlowLayout());  
        JLabel label = new JLabel("JFrame By Example");  
        JButton button = new JButton();  
        button.setText("Button");  
        panel.add(label);  
        panel.add(button);  
        frame.add(panel);  
        frame.setSize(200, 300);  
        frame.setLocationRelativeTo(null);  
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        frame.setVisible(true);  
    }  
}

В примере показаны метка и кнопка в содержание, но не название JFrame.

Я использую java -8- oracle JRE

Любая помощь будет оценена.

Проблема решилась сама собой. Спасибо всем за помощь в этом.

Я не могу этого объяснить. На сегодняшний день я написал сотни приложений, и этого никогда не было. Даже старые приложения не отображали заголовок.

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

Ответы [ 2 ]

0 голосов
/ 17 января 2020

Две вещи, которые могут помочь, внешний вид и оформление окон.

for( UIManager.LookAndFeelInfo lfi:  UIManager.getInstalledLookAndFeels()){
        System.out.println(lfi);
}

Это покажет вам все доступные взгляды и ощущения. Я почти уверен, что металл покажет вам титул.

Следующим шагом будет запрос декораций из внешнего вида.

frame.setDefaultLookAndFeelDecorated(true);

Так как у меня нет названия вопрос, который мне трудно проверить, но я подозреваю, что это должно дать вам заголовок.

0 голосов
/ 17 января 2020

Это может быть потому, что ваш JFrame недостаточно широк, поэтому заголовок обрезается кнопками свертывания, максимизации и закрытия.

Вместо frame.setSize(200, 300);, попробуйте:

frame.setPreferredSize(new Dimension(400, 400));

А теперь вы должны увидеть свой заголовок. Кроме того, не забудьте frame.pack(); до frame.setVisible(true);.

import java.awt.Dimension;
import java.awt.FlowLayout;

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

public class Builder {
    public static void main(String s[]) {  
        JFrame frame = new JFrame("JFrame Example");  
        JPanel panel = new JPanel();  

        panel.setLayout(new FlowLayout());  
        JLabel label = new JLabel("JFrame By Example");  

        JButton button = new JButton();  
        button.setText("Button");  

        panel.add(label);  
        panel.add(button);  

        frame.add(panel);  
        frame.setPreferredSize(new Dimension(400, 400));
        frame.setLocationRelativeTo(null);  
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        frame.pack();
        frame.setVisible(true);  
    }  
}

JFrame example with Title

...