我正在尝试制作一个Java桌面应用程序,其中我要使用多个应用程序,JLabel我要设置的固定高度和宽度JLabel。我该如何实现?
JLabel
这是我的代码
public class Second extends JFrame { JPanel panel1,panel2; JLabel label=new JLabel(); ArrayList<JLabel> lbllist = new ArrayList<>(); public Second() { super("Simple Timer"); { getContentPane().setBackground(new java.awt.Color(255,255,255)); } this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); Container c = getContentPane(); c.setLayout( new FlowLayout()); setUndecorated(true); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); setBounds(0,0,screenSize.width, screenSize.height); panel2=new JPanel(); panel2.setBounds(360, 180, 360, 1020); panel2.setBackground(new java.awt.Color(255,153,51)); c.add(panel2); JPanel panel3 = createPanel(); panel1.setLayout(new GridBagLayout()); panel1.add(panel3); JPanel panel4 = createPanel(); panel2.setLayout(new GridBagLayout()); // jPanel2.setLayout(null); panel2.add(panel4); setLayout(null); } private JPanel createPanel() { JPanel panel = new JPanel(new GridLayout(0, 1, 10, 5)); EmptyBorder panelBorder = new EmptyBorder(10, 5, 10, 10); panel.setBorder(panelBorder); panel.setBackground(new java.awt.Color(255, 153, 51)); panel.setOpaque(true); EmptyBorder border1 = new EmptyBorder(5, 20, 15, 18); Border border = BorderFactory.createLineBorder(Color.BLUE, 2); for (int i = 0; i <11; i++) { label = new JLabel("<html>Case Item CaseNum<br><font color=yellow>Party1<br>Party2</font></html>"); label.setFont(new java.awt.Font("Times New Roman", 1, 18)); label.setBorder(border); label.setSize(300, 100); label.setBorder(border1); Dimension d = label.getPreferredSize(); label.setBackground(Color.GRAY); label.setForeground(new java.awt.Color(255, 255,255 )); label.setOpaque(true); lbllist.add(label); panel.add(label); } return panel; }
当我减少文本大小或文本JLabel ,然后尺寸JLabel缩小但我想,当我减少或消除任何文字JLabel,但JLabel的大小不应该减少它应该修复
我怎么能得到这个?
提前致谢
您可以通过设置最小,首选和最大大小来设置固定大小:
setMinimumSize(width, height); setPreferredSize(width, height); setMaximumSize(width, height);
当链接从 MadProgrammer ,你需要重写这些方法,不使用它们来自外部的基础上,在此提到的原因链接。