Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

ScrollPane menambahkan ke tata letak kotak

Mulailah dengan menambahkan tombol ke wadahnya sendiri, dengan cara ini Anda dapat mengontrol tata letak tombol secara terpisah dari UI lainnya

    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);
    }

Kemudian tambahkan panel "utama" ke NORTH posisi bingkai dan panel "tombol" ke CENTER

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

Ingat, dalam hal ini, saya akan sangat tergoda untuk menggunakan sesuatu seperti JList alih-alih. Lihat Cara Menggunakan Daftar untuk lebih jelasnya

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

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

Ini bersaing satu sama lain, memindahkan konten dan tumpang tindih dengan konten yang ada...

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);

}

Dalam hal ini saya lebih suka menggunakan JList untuk menampilkan proyek atau WrapLayout untuk meletakkan tombol



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gabungan dalam dari 2 tabel dengan ID yang sama

  2. Cara menghitung perbedaan tanggal tidak termasuk akhir pekan dan hari libur di MySQL

  3. Bagaimana cara menambahkan cap tanggal dan waktu ke INSERT melalui PHP dengan mySQL?

  4. Mencadangkan Tampilan dengan Mysql Dump

  5. mengapa kesalahan `tcgetattr` terlihat ketika ssh digunakan untuk membuang file cadangan di server lain?