Я играл с JFrame сегодня, и мне не удалось получить компонент JButton для правильного отображения текста. Текст, отображаемый в JButton, обрезается в конце. Я попытался изменить размер компонента JButton, чтобы убедиться, что текст может поместиться, но та же проблема возникла. Проблема выглядит следующим образом:Компоненты текста JFrame не отображаются должным образом
Вот код:
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);
}
}
Я понимаю, что это может быть проблема с установкой моего проекта, так что если кому-то нужен мне, чтобы разместить его, я могу сделать это.
Разрешить кнопку размера грациозно в зависимости от текста внутри (не заставляйте его размер через 'setPreferredSize'). Вы ограничиваете его размер, поэтому ваш текст не подходит –
Не задавайте размер и местоположение, пусть менеджер компоновки позаботится об этом. Удалите эти 2 строки, и если это сработает для вас, тогда загляните в правильный менеджер макетов для вас в зависимости от остальной части графического интерфейса. – user1803551