java - JScrollPane 不出现

标签 java swing jscrollpane layout-manager null-layout-manager

我想在我的面板 panneau 中创建一个 JscrollPane jsp。但是这个JscroolPane没有出现。我认为问题在于我使用 setLayoutnull

代码可能会生成这样的布局,文本字段的行数和列数是可变的(在构造函数中):

layout

这是我的代码:

public class Cadre_fenetreA3 extends JFrame 
{
    JButton boutonOK = new JButton ("OK");
    public Cadre_fenetreA3 (String nom,int X, int Y, int lo, int la, int nbligne,int nbcolonne,String[] nomGrpGen, int Na, File file, boolean dernier)      
    {

        super(nom);                     
        setBounds(X,Y,500,500);     
        setVisible(true);   
        setFocusable(true);

        JLabel phrase = new JLabel("<html>Veuillez indiquer l'appartenance ou non d'un attribut <br> a un groupe d'attribut du Niveau :</html>"+Na);
        JTextField[][] allField = new JTextField [nbligne][nbcolonne];
        JLabel phrases[] = new JLabel [nbligne];
        JPanel panneau = new JPanel();
        JScrollPane jsp = new JScrollPane(panneau);

        jsp.createVerticalScrollBar(); 
        jsp.createHorizontalScrollBar(); 
            jsp.setBounds(20,20, 20, 20);
        panneau.setLayout(null);

        for(int i = 0;i < nbligne;i++)
        {
            for(int j = 0;j<nbcolonne;j++)
            {
                int random = (int)(Math.random()*2);
                 allField[i][j] = new JTextField(String.valueOf(random));
                 allField[i][j].setBounds(150+j * 30, 75 + i * 30, 20, 20);
                 panneau.add(allField[i][j]);
            }

           phrases[i] = new JLabel(nomGrpGen[i]);
           phrases[i].setBounds(5, 75+ i * 30, 200, 20);

          panneau.add( phrases[i]);
        }
        phrase.setBounds(0,0,1000,50);
         panneau.add(phrase);

        boutonOK.setBounds(lo-90,la-110,60,60);
        boutonOK.addActionListener(new ecout(nbligne,nbcolonne,allField, file, dernier));
         panneau.add(boutonOK);
         add(jsp);
    }

最佳答案

那是因为您在末尾添加了 panneau - 您应该添加 jsp ;-)

此外,不要将 LayoutManager 设置为 null,因为这会导致问题(除非您知道自己在做什么)。对于您的要求,您需要的一切都可以在Visual Guide to Layout Managers中找到。 .

关于java - JScrollPane 不出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11937094/

相关文章:

java - 将 mxgraph 集成到 JavaFX 的 fxml 文件中

Java Swing : unable to load image using getResource

java - 使用 JLabel 修复 JScrollPane

java - 在具有固定大小的 JPanel 中显示未知数量的 JButton

java - 缓存实例

java - 使用可维护性代理打开核心转储时出现错误 "windbg error:OpenDumpFile failed"

java - 泛型和 Java : how does "extends" work?

java - 关于 Android 应用程序的 "focused"是什么?

java - Action初始化的差异

java - 启用换行时 JTextArea 永远不会缩小