2015-05-17 4 views
3

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

enter image description here

Вот код:

import javax.swing.JFrame; 

public class Launcher { 
    public static void main(String[] args) { 
     JFrame jFrame = new JFrame("Frame"); 
     jFrame.setSize(400, 400); 
     jFrame.setDefaultCloseOperation(jFrame.EXIT_ON_CLOSE); 
     jFrame.setLocation(400, 400); 
     jFrame.add(new Drawable(jFrame)); 
     jFrame.setVisible(true); 
    } 
} 

Вот другой класс в другом файле .java.

import java.awt.Dimension; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 

public class Drawable extends JPanel { 
    private JButton button; 
    private JFrame jFrame; 
    public Drawable(JFrame jFrame) { 
     this.jFrame = jFrame; 
     button = new JButton("This text does not show properly"); 
     button.setPreferredSize(new Dimension(200, 25)); 
     button.setLocation(jFrame.getWidth()/2 - 50, jFrame.getHeight()/2 - 12); 
     this.add(button); 
    } 
} 

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

+0

Разрешить кнопку размера грациозно в зависимости от текста внутри (не заставляйте его размер через 'setPreferredSize'). Вы ограничиваете его размер, поэтому ваш текст не подходит –

+0

Не задавайте размер и местоположение, пусть менеджер компоновки позаботится об этом. Удалите эти 2 строки, и если это сработает для вас, тогда загляните в правильный менеджер макетов для вас в зависимости от остальной части графического интерфейса. – user1803551

ответ

2

Удалить заявление

button.setPreferredSize(new Dimension(200, 25)); 

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

+0

Не обращайте на это внимания, это действительно устранило проблему, спасибо. –