Mysql
 sql >> база данни >  >> RDS >> Mysql

Добавяне на ScrollPane към оформлението на мрежата

Започнете с добавяне на бутоните към техния собствен контейнер, по този начин можете да контролирате оформлението на бутоните отделно от останалата част от потребителския интерфейс

    JPanel panelFullOfButtons = new JPanel();
    try {
        for (int i = 0; i < projectNames.length; i++) {
            buttons[i] = new ProjectButton(projectNames[i]);
            buttons[i].setId(uniqueIds[i]);

            panelFullOfButtons.add(buttons[i]);
            buttons[i].addActionListener(this);

        }
    } catch (Exception e2) {
        JOptionPane.showMessageDialog(null, e2);
    }

След това добавете "главния" панел към NORTH позиция на рамката и панела "бутони" към CENTER

    frame.add(panel, BorderLayout.NORTH);
    frame.add(new JScrollPane(panelFullOfButtons), BorderLayout.CENTER);

Имайте предвид, че в този случай бих се изкушил да използвам нещо като JList вместо. Вижте Как да използвате списъци за повече подробности

// Problem #1...
JScrollPane pane = new JScrollPane();
pane.add(buttonPanel);

//...
// Problem #2...
panel.add(pane);
frame.add(panel);

Те се конкурират помежду си, преместват съдържанието и се припокриват със съществуващо съдържание...

public AdminClass() {

    panel.setLayout(new GridLayout(3, 1));

    panel.add(new JLabel("Welcome to Admin Panel"));

    btnNewButton.addActionListener(this);
    panel.add(btnNewButton);

    panel.add(new JLabel("Existing Projects"));

    List<String> projectNameList = new ArrayList<String>();
    for (int index = 0; index < 1000; index++) {
        projectNameList.add("Project " + index);
    }
    projectNames = projectNameList.toArray(new String[0]);

    // Adding buttons to the project
    buttons = new JButton[projectNameList.size()];
    try {
        for (int i = 0; i < projectNames.length; i++) {
            buttons[i] = new JButton(projectNames[i]);

            btnPnl1.add(buttons[i]);
            buttons[i].addActionListener(this);

        }
    } catch (Exception e2) {
        JOptionPane.showMessageDialog(null, e2);
    }

    frame.add(panel, BorderLayout.NORTH);
    frame.add(new JScrollPane(btnPnl1), BorderLayout.CENTER);

    frame.setVisible(true);
    frame.setSize(500, 500);

}

В този случай бих предпочел да използвам или JList за да покажете проектите или WrapLayout за подреждане на бутоните



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да използвам функцията mysql now() в cakephp за полета за дата?

  2. Актуализирайте редовете, след като mysql изберете foreach

  3. Можете ли да разделите един псевдоним на друг в MySQL?

  4. Как да пренаредя колоните в MySQL Query Editor?

  5. Наблюдавайте нови данни в MySQL таблица