12
Değil emin az bir konteyner ile kullanılabilir. GroupLayout'u kullanıyorum çünkü benim için boşluğu yapmasını istiyorum ve gelecekte çerçeveye daha fazla panel ekleyeceğim. Aşağıda yığın izi.GroupLayout bir anda yalnızca
package client;
import java.awt.Component;*
public class AlternateGUI {
private JList people;
private DefaultListModel dlm;
private JLabel l1, l2, l3;
private JFrame alternateGUIFrame;
private final static ImageIcon unavailableIcon = new ImageIcon("offline.png");
public static void main(String[] args)
{
AlternateGUI ls = new AlternateGUI();
ls.drawGui();
}
public AlternateGUI(){
dlm = new DefaultListModel();
people = new JList(dlm);
alternateGUIFrame = new JFrame();
JScrollPane peopleScroller = new JScrollPane(people, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
people.setCellRenderer(new CellRenderer());
GroupLayout alternateGUILayout = new GroupLayout(alternateGUIFrame);
alternateGUIFrame.setLayout(alternateGUILayout);
alternateGUILayout.setAutoCreateGaps(true);
alternateGUILayout.setAutoCreateContainerGaps(true);
alternateGUILayout.setHorizontalGroup(alternateGUILayout.createSequentialGroup()
.addComponent(peopleScroller));
alternateGUILayout.setVerticalGroup(alternateGUILayout.createSequentialGroup()
.addComponent(peopleScroller));
}
public void drawGui() {
l1 = new JLabel("Hi", unavailableIcon , JLabel.LEFT);
l2 = new JLabel("Hello", unavailableIcon , JLabel.LEFT);
l3 = new JLabel("Bye", unavailableIcon , JLabel.LEFT);
dlm.addElement(l1);
dlm.addElement(l2);
dlm.addElement(l3);
alternateGUIFrame.pack();
alternateGUIFrame.setVisible(true);
}
class CellRenderer implements ListCellRenderer
{
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
{
Component com = (Component)value;
return com;
}
}
}
teşekkürler! Genellikle JPanels'ım var ve onları çerçeveye ekliyorum ama bugün her şeyi doğrudan çerçeveye eklememeye karar verdim. Bunu kontrol edip işe yarayıp yaramadığına bakacağım! - Çalıştırdı! :) – Nonconformist
@ Coolguy123: rica ederim. –
Splendid. Adamı paylaştığın için teşekkürler! – Lawrence