Java 相对大小调整不起作用
我一直在尝试制作一个与窗口大小相对应的JLabel,但由于某些原因,这个JLabel没有出现在屏幕上 这是我的MainGUI类中使用的代码,该类包含基本界面:Java 相对大小调整不起作用,java,swing,user-interface,sizing,Java,Swing,User Interface,Sizing,我一直在尝试制作一个与窗口大小相对应的JLabel,但由于某些原因,这个JLabel没有出现在屏幕上 这是我的MainGUI类中使用的代码,该类包含基本界面: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MainGUI extends JFrame{ JPanel core; GridBagConstraints c; JLabel[] sts;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MainGUI extends JFrame{
JPanel core;
GridBagConstraints c;
JLabel[] sts;
public MainGUI(){
core = new JPanel(new GridBagLayout());
getContentPane().add(core, BorderLayout.CENTER);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(500, 500);
sts = new JLabel[10];
int width = (int)(66/100) * getWidth(), height = (int)(75/100) * getHeight(); //problem: due to these sizes the JLabel is not appearing
for(int i = 0; i < sts.length; i++){
sts[i] = new JLabel("test");
sts[i].setOpaque(true);
sts[i].setBackground(Color.BLACK);
sts[i].setForeground(Color.BLACK);
sts[i].setPreferredSize(new Dimension(width,height)); //size being set
}
c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
core.add(sts[1], c);
}
}
import java.awt.*;
导入java.awt.event.*;
导入javax.swing.*;
公共类MainGUI扩展JFrame{
JPanel核心;
gridc;
JLabel[]sts;
公共MainGUI(){
core=newJPanel(newGridBagLayout());
getContentPane().add(核心,BorderLayout.CENTER);
setDefaultCloseOperation(关闭时退出);
设置大小(500500);
sts=新的JLabel[10];
int-width=(int)(66/100)*getWidth(),height=(int)(75/100)*getHeight();//问题:由于这些尺寸,JLabel不会出现
对于(inti=0;i
如果您能帮助我们找到解决方案,我们将不胜感激。请提前感谢。试试图书馆。这里有一个教程。有几期-
int width = (int)(66/100) * getWidth();
成功-
int width = (int)(((float)66/100) * getWidth());
您是否尝试过为标签设置文本值,以便它可以显示一些内容?是的,是的,但仍然没有。