Java初學(xué)者在這里。我正在嘗試在 JScrollPane 內(nèi)的 JPanel 中根據(jù)用戶輸入(輸入要生成的標(biāo)簽數(shù)量在 0 到 50 之間)生成標(biāo)簽。標(biāo)簽生成正確,但問(wèn)題是面板無(wú)法向下滾動(dòng)以查看所有標(biāo)簽。是因?yàn)槲以诿姘迳鲜褂昧私^對(duì)布局嗎?如果是,那么解決方案可能是什么?請(qǐng)指導(dǎo)。注意:我在 for 循環(huán)中使用 50 個(gè) JLabel 數(shù)組制作了標(biāo)簽。糟糕的編程實(shí)踐可能但有效。這是代碼片段 frame = new JFrame(); frame.setSize(800, 800); frame.getContentPane().setLayout(null); JScrollPane scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); scrollPane.setBounds(103, 37, 439, 350); frame.getContentPane().add(scrollPane); JPanel panel = new JPanel(); scrollPane.setViewportView(panel); panel.setLayout(null); JButton btnGenerateLabels = new JButton("Generate Labels"); btnGenerateLabels.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JLabel[] lab = new JLabel[50]; int y = 50; for(int i=0; i<50; i++) { lab[i] = new JLabel(); lab[i].setText("Label "+(i+1)); panel.add(lab[i]); lab[i].setBounds(180, y, 97, 25); y += 30; } } }); btnGenerateLabels.setBounds(129, 23, 152, 25); panel.add(btnGenerateLabels);
根據(jù)用戶輸入生成 java swing 字段
揚(yáng)帆大魚(yú)
2023-04-13 17:00:45