Java GUI durch variable Größe einer Map anpassen

Bitte aktiviere JavaScript!
Hallo,
im Moment beschäftige ich mich damit ein kleines Monitoring Tool für unsere aktiven Geräte zu entwickeln. Leider bereitet mir die GUI ein bisschen Kopfzerbrechen.

Im Moment habe ich eine Map die den Namen und die Mac enthält. Durch ein erstelltes EntrySet lese ich die einzelnen Paare in einer "for" aus und gebe sie auf der GUI aus. Leider ist die Formatierung bzw. der Aufbau der GUI so nicht wirklich schön.

Daher meine Frage. Wisst ihr zufällig was ich für diesen Anwendungsfall nutzen könnte, damit 1. die GUI schön Strukturiert ist bzw jeder Name + Mac in einer Zeile steht und 2. es dann egal ist wie groß die Map noch wird?

Schon mal vielen Dank im Vorraus.

Gruß
Steini5298
 
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Java:
import java.awt.BorderLayout;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;

public class Demo extends JFrame {
  
    private static final long serialVersionUID = 1L;
  
    private DefaultListModel<Unit> units;
  
    class Unit {
      
        private String name;
        private String adress;
      
        public Unit(String name, String adress) {
            this.name = name;
            this.adress = adress;
        }

        @Override
        public String toString() {
            return name + " (" + adress + ")";
        }
      
    }

    public Demo() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("Demo");
      
        setLayout(new BorderLayout());
      
        JButton addButton = new JButton("+");
        addButton.addActionListener(e -> {
            int index = units.getSize();
          
            units.addElement(new Unit("Unit" + index, index + "." + index));
        });
        add(addButton, BorderLayout.NORTH);
      
        units = new DefaultListModel<>();
        JList<Unit> unitList = new JList<>(units);
        JScrollPane listScrollPane = new JScrollPane(unitList);
        add(listScrollPane, BorderLayout.CENTER);
      
        pack();
    }
  
    public static void main(String[] args) {
        new Demo().setVisible(true);
    }
  
}
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben