java - JLabels 变得非常小

标签 java swing user-interface gridbaglayout

我正在为我的 Java 项目使用 gridbaglayout,由于某种原因,当我启动该程序时,所有 JLabels 似乎都非常小,即使我使用百分比调整了它们的大小(因此大小应该是相对的)

这是我用来设置首选尺寸的代码:

int stswidth = (int)(((float)66/100) * getWidth()), stsheight = (int)(((float)65/100) * getHeight()); 
int navwidth = (int)(((float)21.5f/100) * getWidth()), navheight = (int)(((float)10/100) * getHeight());
int clwidth = (int)(((float)25/100) * getWidth()), clheight = (int)(((float)80/100) * getHeight());
int hwidth = (int)(((float)100/100) * getWidth()), hheight = (int)(((float)20/100) * getHeight());

以下是使用网格包约束设置每个标签位置的代码:

c = new GridBagConstraints();

   c.gridx = 0;
   c.gridy = 0;

   core.add(sts[1], c);

   //nav

   c.gridx = 0;
   c.gridy = 0;

   nav.add(navb[0], c);

   c.gridx = 1;
   c.gridy = 0;

   nav.add(navb[1], c);

   c.gridx = 2;
   c.gridy = 0;

   nav.add(navb[2], c);

   //cl

   c.gridx = 0; 
   c.gridy = 0;

   clock.add(cl, c);
   head.add(header, c);

最佳答案

我不明白你在哪里设置任何约束weightx和weighty。尝试给它们默认值 1.0。

c = new GridBagConstraints();

c.weightx = 1.0;
c.weighty = 1.0;
c.gridx = 0;
c.gridy = 0;

这将有助于防止所有组件在中心挤压。
是的,如果这没有帮助,那么创建并发布您的 sscce .

关于java - JLabels 变得非常小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15762533/

相关文章:

matlab - 如何在 MATLAB 中设置以编程方式调整大小的 UI

java - 游戏循环-线程

java - NewStringUTF() 和释放内存

Java Hibernate 和 servlet 与 Adob​​e Flex + Model View Controller 模式?

java - 禁用 ProgressMonitor 的对话框关闭

java - 如何设置按钮的大小? ( Swing )

java - Murmur3 散列 Python 和 Java 实现之间的不同结果

java - 使用 MouseWheelListener 水平滚动

java - JTextfield 在键入时动态添加文本

Java GUI actionPerformed() 问题