2015-10-31 6 views
-1

Я использую Ubuntu, и при запуске базовой программы Swing выход не отображается полностью. Выход не мог видеть компоненты, такие как метки или button.The кодНевозможно увидеть вывод программы Swing

import javax.swing.*; 

import java.io.*; 

public class Swing1 extends JFrame 
{ 

    public static void main(String args[]) 
    { 

    JFrame jr=new JFrame("Hello World!"); 

JLabel l=new JLabel("FirstOne"); 

    JButton b=new JButton("End"); 
    // l.setBackground(Color.BLACK); 

    jr.add(l); 

    jr.add(b); 

    jr.setVisible(true); 

    jr.setSize(800,300); 

    jr.setLayout(null); 

    jr.setDefaultCloseOperation(EXIT_ON_CLOSE);  
    } 
} 

Я получаю выходной экран, но метка не отображается ни кнопка моя ОС убунту.

+0

Ваш вопрос не очень ясен. Показать код. – trylimits

+3

Чтобы лучше помочь, отправьте сообщение [MCVE] или [Short, Self Contained, Correct Example] (http://www.sscce.org/). –

+0

вы добавляете код здесь. –

ответ

0

Вы не должны использовать jr.setLayout(null), потому что это означает, что вам нужно будет использовать абсолютное позиционирование.

Вы можете посмотреть доступные Java Layout Managers, чтобы узнать, какой макет подходит именно вам.

Вы можете использовать FlowLayout, например jr.setLayout(new FlowLayout()), и таким образом ваша метка и кнопка будут видны.

import javax.swing.*; 

import java.io.*; 

import java.awt.*; //So you can use the Layout Managers 

public class Swing1 extends JFrame 
{ 

    public static void main(String args[]) 
    { 

    JFrame jr=new JFrame("Hello World!"); 

    JLabel l=new JLabel("FirstOne"); 

    JButton b=new JButton("End"); 

    jr.add(l); 

    jr.add(b); 

    jr.setVisible(true); 

    jr.setSize(800,300); 

    jr.setLayout(new FlowLayout()); 

    jr.setDefaultCloseOperation(EXIT_ON_CLOSE); 

    } 
} 
Смежные вопросы