我在JScrollPane中有一個JPanel。 面板和ScrollPane創建後,我用JButton填充面板。 但我沒有得到ScrollPane的工作。它只是不會滾動我的面板。啓動JScrollPane後設置元素 - JScrollPane不會滾動
也許這是非常簡單的事情,但我在GUI編程方面沒有這方面的經驗。我已經搜索並嘗試了一些我在那裏發現的東西......但是我沒有讓我的GUI工作。
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import java.awt.CardLayout;
import java.util.ArrayList;
import javax.swing.JLabel;
public class GUI extends JFrame {
private Container pinnwand;
private JPanel Team = new JPanel();
private JPanel MonsterListe = new JPanel();
private JScrollPane cntAvailableMonster = new JScrollPane();
private ArrayList<JLabel> AvailableMonstersLabels = new ArrayList<JLabel>();
public GUI() {
this.pinnwand = getContentPane();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds(100, 100, 530, 443);
this.pinnwand.setLayout(new CardLayout(0,0));
this.Team.setBackground(new Color(44,44,44));
this.Team.setLayout(null);
this.MonsterListe.setMinimumSize(new Dimension(200,400));
this.cntAvailableMonster.setBounds(300, 0, 200, 400);
this.cntAvailableMonster.setPreferredSize(new Dimension(200,1000));
this.cntAvailableMonster.createVerticalScrollBar();
this.cntAvailableMonster.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
this.cntAvailableMonster.setViewportView(this.MonsterListe);
this.MonsterListe.setLayout(null);
this.Team.add(this.cntAvailableMonster);
this.pinnwand.add(this.Team,"Team");
this.setAvailableMonsters();
}
private void setAvailableMonsters() {
for(int i = 0,amount = 20;i < amount;i++) {
this.AvailableMonstersLabels.add(new JLabel("monster"+i));
this.AvailableMonstersLabels.get(i).setBounds(0, i*30, 300, 30);
this.AvailableMonstersLabels.get(i).setBackground(new Color(255,0,0));
this.AvailableMonstersLabels.get(i).setOpaque(true);
this.MonsterListe.add(this.AvailableMonstersLabels.get(i));
this.MonsterListe.setBackground(new Color(0,0,0));
}
}
public static void main(String[] args) {
new GUI().setVisible(true);
}
}
感謝提前:)
btw它不建議使用空佈局,你解決了你的問題? – nachokk
Java GUI可能需要在不同的屏幕分辨率和使用不同的PLAF的平臺上工作。因此,它們不利於組件的準確放置。要爲可靠的GUI組織組件,請使用佈局管理器或它們的組合,以及用於空白區域的佈局填充和邊框。 –