JList mit 2-zeiligen Objekten füllen

markus99

Bekanntes Mitglied
Hallo! Eines vorweg: ich bin Anfänger!

Dank dem Forum hier bin ich gestern (bzw. heute bis 5 früh) schon wesentlich weiter mit meinem kleinen Projekt.

Zuerst muss ich Netzwerk-Adapternamen und die zugehörige IP-Adresse auszulesen (funktioniert)

Ich speichere dann den Namen und die IP-Adresse als String in 2 verschiedenen Hashmaps mit demselben Index und rufe diese über eine while Schleife in meinem JList Objekt ab (funktioniert).

Nun stehe ich vor der nächsten Hürde!
Ich möchte 2 Zeilen "zusammenführen", also einmal den Adapternamen und direkt darunter die zugehörige IP-Adresse als eine Zeile(bzw. selektion) nutzbar machen.

Und es wird noch besser! Ich möchte unbedingt eine Grafik an der Linken Seite in diesen "2 Zeilen" (was ja ein Eintrag werden soll) anzeigen.

Ich glaube das funktioniert nur irgendwie über spezielle Objekte innerhalb einer JList.
Gibt es hierzu Referenzcode?

Alleine komm ich irgendwie nicht weiter :bahnhof:
 

turtle

Top Contributor
Ich möchte 2 Zeilen "zusammenführen", also einmal den Adapternamen und direkt darunter die zugehörige IP-Adresse als eine Zeile(bzw. selektion) nutzbar machen
Ein JLabel Text kann mit HTML formatiert werden, wie hier schön beschrieben.

Natürlich kann ein JLabel auch ein Bild + Text anzeigen und Du kannst angeben, wo das Bild relativ zum Text (oben, unten, links, rechts) sein kann.

Ich speichere dann den Namen und die IP-Adresse als String in 2 verschiedenen Hashmaps mit demselben Index
Das würde ich anders machen und beide Attribute in EINEM Objekt speichern.
 

bERt0r

Top Contributor
Wenns komplexer werden sollte kannst du dir deinen eigenen ListCellRenderer schreiben, das kann dann z.B ein Panel sein mit mehreren Labels.
 

markus99

Bekanntes Mitglied
Ein JLabel Text kann mit HTML formatiert werden, wie hier schön beschrieben.
Danke für den Link, soetwas habe ich auch schon länger gesucht!
Nun die Frage aller Fragen, wie erstelle ich praktisch ein neues Objekt (und auf welcher Basis?) mit HTML-Inhalten, um diese dann einer Liste hinzuzufügen?

Natürlich kann ein JLabel auch ein Bild + Text anzeigen und Du kannst angeben, wo das Bild relativ zum Text (oben, unten, links, rechts) sein kann.
Das würde ich anders machen und beide Attribute in EINEM Objekt speichern.

Ich kann mir schon ungefähr vorstellen wie das aussieht, wollte das auch so umsetzen.
Die 2 Hashmaps sind nur temporär.

Hier mal der Inhalt der Klasse, falls es irgendwie hilft (vielleicht gibt es noch andere gravierende Hirnzwirbler?).
Es gibt 4 Klassen, die MainDialog ist die Hauptklasse. Die holt sich ein "listScrollPane" Objekt, welches in der untenstehenden Klasse befüllt wird.

Java:
import javax.swing.*;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.*;

public class MainDialogAdapterList
{
	JList<String> wordList;
	JScrollPane listScrollPane = new JScrollPane();
	HashMap<Integer, String> map1 = new HashMap<Integer, String>();
	HashMap<Integer, String> map2 = new HashMap<Integer, String>();
	
	public MainDialogAdapterList()
	{
		fuelleAdapterListe();
		DefaultListModel<String> model = new DefaultListModel<String>();
		int laenge = 0;
		while (laenge < map2.size())
		{
			model.addElement(map1.get(laenge));
        		model.addElement(map2.get(laenge));
        		laenge++;
		}
                wordList = new JList<String>(model);

		//wordList = new JList(words); //backup
		listScrollPane.add(wordList);
		listScrollPane.getViewport().add(wordList);
		listScrollPane.setLocation(50,50);
		listScrollPane.setBounds(50,50,350,350);
		listScrollPane.setVisible(true);
	}
	
	private void fuelleAdapterListe()
	{
		try 
		{
			Enumeration<NetworkInterface> interfaceNIC = NetworkInterface.getNetworkInterfaces();
			int x = 1;
			int y = 0; //templösung
			while (interfaceNIC.hasMoreElements()) 
			{
				NetworkInterface n = interfaceNIC.nextElement();
				Enumeration<InetAddress> addresses = n.getInetAddresses();
				while (addresses.hasMoreElements()) 
				{
					InetAddress address = addresses.nextElement();
					if(!address.getHostAddress().contains(":") && !address.getHostAddress().contains("%"))
					{
						map1.put(y, "NIC "+ y +": " + n.getDisplayName()); //alternative, befüllen der hashmap1 mit wert 0++ für Adapter
						x++;
						map2.put(y, "- " + address.getHostAddress()); //alternative, befüllen der hashmap2 mit wert 0++ für IP
						x++; //x = 2 nach D1
						y++; //templösung
					}
				}
			}
		}
	        catch (SocketException e)
	        {
                e.printStackTrace();
	        }		
	}
}
 

Marco13

Top Contributor
Was machst du denn, wenn man in der Liste was auswählt? (Worauf ich raus will: Man könnte in Erwägung ziehen, einfach InetAddress-Objekte in die Liste zu legen....)
 

markus99

Bekanntes Mitglied
Also mit dem Tool übe ich praktisch nur den effektiven Einsatz mit Java.

Ich möchte am Ende Profile für Netzwerkadapter anlegen, mitsammt out-of-the-box (windows commands).

Edit:
Eigene Felder für IP/Subnet Masken usw. benötige ich beim übernehmen der Profile natürlich auch!
Gut zu wissen dass es das bereits in java gibt.
 
Zuletzt bearbeitet:

markus99

Bekanntes Mitglied
Ich bin leider noch nicht weitergekommen.

Mit HTML würde es zwar klappen, aber wie kann ich ein Objekt im html-code einbinden?
Alle Beispiele die ich so finde sind rein statisch.

Und den ListCellRenderer kann ich mir "nicht selbst schreiben", da ich nun zwar ungefähr weiß wie er aufgebaut sein soll, aber wie in der ersten Zeile im ersten Beitrag ersichtlich ist bin ich totaler Anfänger :D


Edit: Kleiner Fortschritt zwischendurch.
Habe nun gelernt dass man -> " <- in HTML Code den man gerne in Strings verwendet durch -> \" <- ersetzen muss.

Nächste Hürde: Wie kann ich in Eclipse eine Resource "definieren"?
Ich möchte gerne eine Bilddatei statisch im Projekt unterbringen und diese über HTML-Code in meiner JList aufrufen.

Dabei habe ich bereits versucht die Datei ins root der java Files zu kopieren und über <img src=\"name.jpg\"> aufzurufen. Hat jemand Erfahrung/Hinweise diesbezüglich?

EDIT: Wenn ich das Bild über den http:// Link aufrufe funktioniert es tadellos! Aber ich möchte es unbedingt irgendwie lokal verankern ;(
 
Zuletzt bearbeitet:

markus99

Bekanntes Mitglied
Puhh ... Endlich habe ich die Liste in etwa so wie ich sie haben möchte!
Ziemliche fummlerei mit dem angepassten HTML code!

Das ganze läuft nun wunderbar dynamisch über 2 Schleifen, eine zum Auslesen und speichern der aktiven Netzwerkadapter, sowie eine zum Hinzufügen zur Liste.

Die Icons werde ich noch austauschen und individuell gestalten, eben für VMs, Apple Devices, VPN usw.
Für einen blutigen Anfänger nicht so übel :)

Thema erledigt, Danke an alle Ratgeber!

72blqemn.png
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Jlist füllen AWT, Swing, JavaFX & SWT 4
H JList.setEnabled(false) - Text soll nicht grau sein AWT, Swing, JavaFX & SWT 2
BananenBrötchen Swing Arraylist in jList anzeigen AWT, Swing, JavaFX & SWT 6
J Swing JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
A Swing JList zu JTree AWT, Swing, JavaFX & SWT 11
G Eingabe in JTextField in Array speichern und in JList ausgeben AWT, Swing, JavaFX & SWT 7
cezary Choice, JComboBox oder JList AWT, Swing, JavaFX & SWT 5
J JList scrollen AWT, Swing, JavaFX & SWT 3
Neumi5694 Swing JList - Klick abfangen AWT, Swing, JavaFX & SWT 3
G Swing Swing Binding JList funktioniert nicht AWT, Swing, JavaFX & SWT 5
M Swing JList Auswahl-GUI-Konzept AWT, Swing, JavaFX & SWT 9
C JList: Bestimmte Objekte ausschließen AWT, Swing, JavaFX & SWT 1
F JList aktualisiert nicht AWT, Swing, JavaFX & SWT 24
F JList auffüllen aus Array von Instanzen AWT, Swing, JavaFX & SWT 4
F Event wenn Maus eine JList verlässt AWT, Swing, JavaFX & SWT 13
F JList bei Windowbuilder AWT, Swing, JavaFX & SWT 8
F JList zeigt keine Einträge mehr AWT, Swing, JavaFX & SWT 1
P JList erstellen AWT, Swing, JavaFX & SWT 4
G DefaultListModel für JList AWT, Swing, JavaFX & SWT 2
P Einer JList mit eigenem ListModel einen Eintrag hinzfügen AWT, Swing, JavaFX & SWT 5
P Übergeben von ListModel an nichtparametrisierte JList AWT, Swing, JavaFX & SWT 8
M Ein Element in mehreren JList selektieren AWT, Swing, JavaFX & SWT 5
J Swing Probleme mit ListSelectionListener(), Inhalte der JList werden gelöscht? AWT, Swing, JavaFX & SWT 6
Z Swing Variable eines Objekt aus Hashmap in JList anzeigen AWT, Swing, JavaFX & SWT 1
Nabbit Über JList kein JPopupMenu AWT, Swing, JavaFX & SWT 2
O Swing JList beim Klicken in der GUI erstellen AWT, Swing, JavaFX & SWT 6
C Swing JList zeigt keine neuen Einträge an AWT, Swing, JavaFX & SWT 1
B Swing Auf JList-Elemente aus einer anderen Klasse zugreifen AWT, Swing, JavaFX & SWT 1
T Generische Klasse in JList über DefaultListModel AWT, Swing, JavaFX & SWT 1
T Swing WindowBuilder: JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
C Button Text in JList neue Zeile AWT, Swing, JavaFX & SWT 6
C Hilfe bei JSpinner und JList AWT, Swing, JavaFX & SWT 1
D Swing ArrayList in Jlist/ List oder Array in JList/List AWT, Swing, JavaFX & SWT 5
S JList ist leer, aber DefaultListModel hat die Daten? AWT, Swing, JavaFX & SWT 9
M JList wird angezeigt, JTable (DefaultTableModel) nicht AWT, Swing, JavaFX & SWT 7
H Swing JList/JTable mit JButton, JTextField, Image, JComboBox und JLable AWT, Swing, JavaFX & SWT 2
D Swing Jlist Größe während der Laufzeit verändern. AWT, Swing, JavaFX & SWT 11
Q JList Update Problem AWT, Swing, JavaFX & SWT 1
W Sichtbarer Bereich JScrollPane vs. JList AWT, Swing, JavaFX & SWT 3
N AWT Markierte Zeile jList aus mySQL DB löschen AWT, Swing, JavaFX & SWT 2
S JList repaint AWT, Swing, JavaFX & SWT 1
F Swing JTextField in JList (Funktion beibehalten) AWT, Swing, JavaFX & SWT 2
H JList AWT, Swing, JavaFX & SWT 5
B Swing Bild von Webseite herunterladen, diese dann in JList anzeigen. AWT, Swing, JavaFX & SWT 1
B Swing Dynamische JList mit Bildern AWT, Swing, JavaFX & SWT 4
D JList&JButton erst nach Resize des JFRame sichtbar AWT, Swing, JavaFX & SWT 2
S JList Index finden AWT, Swing, JavaFX & SWT 6
3 Swing JList-Inhalt als verschlüsselte Datei schreiben und lesen AWT, Swing, JavaFX & SWT 1
N JComponenten in JList oder doch anders? AWT, Swing, JavaFX & SWT 0
S Swing JList, ArrayList + DefaultModel AWT, Swing, JavaFX & SWT 5
B Tabelleneinträge in JList anzeigen AWT, Swing, JavaFX & SWT 5
P JList/JScroolPane Text verschieben und text wrappen AWT, Swing, JavaFX & SWT 3
D Swing JList keine Selektionsänderung bei "dragged-Maus" AWT, Swing, JavaFX & SWT 4
M JList Model filtern AWT, Swing, JavaFX & SWT 4
K Swing JList - Element richtig hinzufügen AWT, Swing, JavaFX & SWT 4
T Swing Elemente der JList überlappend darstellen AWT, Swing, JavaFX & SWT 5
P Swing JList mit Objekten - Name anzeigen AWT, Swing, JavaFX & SWT 5
Ollek JList - neuer Eintrag in ArrayList dadurch keine Anzeige der Objekte AWT, Swing, JavaFX & SWT 18
K Mehrfachselektierungen in einer JList AWT, Swing, JavaFX & SWT 6
L Swing Component alignment innerhalb einer JList AWT, Swing, JavaFX & SWT 3
M Swing JList Listener AWT, Swing, JavaFX & SWT 20
M Accelerator zu JMenuItem des JPopupMenu einer JList AWT, Swing, JavaFX & SWT 2
S Swing JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
M Element aus JList eines JFileChooser entfernen AWT, Swing, JavaFX & SWT 3
E selektierter Datensatz in JList als String Datentyp AWT, Swing, JavaFX & SWT 23
E selektiertes Element aus JList zurückgeben AWT, Swing, JavaFX & SWT 7
E JList /DefaultListModel mit Datenbank verbinden AWT, Swing, JavaFX & SWT 10
L SQL & Jtable o. JList AWT, Swing, JavaFX & SWT 5
K Swing JList und veränderte CellRenderer AWT, Swing, JavaFX & SWT 8
B JList + ListCellRenderer AWT, Swing, JavaFX & SWT 5
B JList -> Disabled AWT, Swing, JavaFX & SWT 6
J JList, Anzeige aktualisieren AWT, Swing, JavaFX & SWT 7
I Jlist isselectionEmpty AWT, Swing, JavaFX & SWT 4
I Jlist dynamisch aus Datenbank füllen AWT, Swing, JavaFX & SWT 14
R Swing unbegrenzte Anzahl vonEinträgen in JList AWT, Swing, JavaFX & SWT 2
MiMa Dateien aus Ordner in einer JList Ausgeben AWT, Swing, JavaFX & SWT 32
P Elemente einer JList ausgeben AWT, Swing, JavaFX & SWT 11
S JList mit Einträgen versehen schlägt fehl AWT, Swing, JavaFX & SWT 4
F Swing ArrayList in JList anzeigen und Objekte auswählen AWT, Swing, JavaFX & SWT 2
B JList zeigt Elemente nicht an AWT, Swing, JavaFX & SWT 3
S Fragen zu JList AWT, Swing, JavaFX & SWT 3
B Aktualisierung einer JList AWT, Swing, JavaFX & SWT 5
W JList valueChanges weiterleiten? AWT, Swing, JavaFX & SWT 14
D JButton-Click in JList mit Panels (auf dem der Button ist) AWT, Swing, JavaFX & SWT 6
E Jlist nur mit Klasse? AWT, Swing, JavaFX & SWT 5
D Swing JList <-> AdapterModel <-> Model AWT, Swing, JavaFX & SWT 4
1 JList - Elemente mit rechter Maustaste wählen AWT, Swing, JavaFX & SWT 6
M JList mit DefaultListModel und listener AWT, Swing, JavaFX & SWT 4
B JList nach dem Rendern sortieren AWT, Swing, JavaFX & SWT 3
T Wie ist das "Lookup-Verhalten" von JList, JCombobox änderbar? AWT, Swing, JavaFX & SWT 4
D JList items voneinander trennen AWT, Swing, JavaFX & SWT 10
E Keine Ausgabe von JList bei drücken von Button auf die Konsole AWT, Swing, JavaFX & SWT 7
M gleiches Element in JList mehrmals hintereinander auswählen AWT, Swing, JavaFX & SWT 6
T JList und Objekte AWT, Swing, JavaFX & SWT 7
M Swing JList Item in andere JList während Ausführung AWT, Swing, JavaFX & SWT 4
V JList filtern AWT, Swing, JavaFX & SWT 6
GianaSisters jList nur einmal ein Element anklicken AWT, Swing, JavaFX & SWT 3
TheWhiteShadow JList-Inhalt nach Änderung weg AWT, Swing, JavaFX & SWT 3
T JList ruft getElementAt nicht mehr auf AWT, Swing, JavaFX & SWT 4
B JList transparenter Hintergrund AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben