有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java活动流在应用程序加载时在面板中生成X个数量的对象

只是想知道是否可以帮助您在Java中生成活动流,其想法是在屏幕上显示一个JLabel和文本区域,后跟一个分隔符,然后根据数据库中的数据重复X次

我想知道的是,我怎么可能重复将jlabel、文本区域和divider放置在屏幕上最后一个渲染对象的上方,并且无论每组对象的文本区域大小如何,都能正确显示,就像下图所示

alt text

希望我能说清楚谢谢


共 (1) 个答案

  1. # 1 楼答案

    只需提供包含所有这些内容的JPanel的您自己的版本,并将它们放在一个滚动窗格中,该窗格将关心这些面板的长列表

    class MyPanel extends JPanel
    {
      ImageIcon icon;
      JTextArea textArea;
    
      MyPanel(ImageIcon icon, String text)
      {
        this.icon = icon;
        this.setPreferredSize(/*max size of your panel */)
        textArea = new JTextArea(10, 50);
        textArea.append(text);
    
        //the default manager will be a flow layout for single jpanels
        this.add(icon);
        JScrollPane sp = new JScrollPane(textArea);
        sp.setPreferredSize(new Dimension(/* size of your text label */));
        this.add(new JScrollPtextArea);
      }
    }
    
    class MyContainer extends JFrame
    {
      JPanel container;
      JScrollPane spContainer;
    
      MyContainer()
      {
         container = new JPanel()
         container.setGridLayout(100,1); //100 elements max
         spContainer = new JScrollPane(container);
         spContainer.setPreferredSize(/* max size of whole thing */)
         this.add(spContainer);
         pack();
      }
    
      void addElement(MyPanel panel)
      {
        container.add(panel);
        this.pack();
      }
    }
    

    它没有完全起作用(我刚刚写的),但它应该给你一个想法