JFrame文本组件未正确显示

时间:2015-05-17 17:16:46

标签: java swing jpanel layout-manager preferredsize

我今天正在玩JFrame并且无法让JButton组件正确显示文本。 JButton中显示的文本最后被截断。我尝试调整JButton组件的大小以确保文本适合,但发生了同样的问题。问题看起来像这样:

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);
    }
}

我知道这可能是我项目设置的问题,所以如果有人需要我发布,我可以这样做。

1 个答案:

答案 0 :(得分:2)

删除声明

button.setPreferredSize(new Dimension(200, 25));
面板的布局管理器正在使用

来约束按钮宽度