Hilfe bei JSpinner und JList

Crytek92

Mitglied
Moin

Ich möchte mit dem kleinem "Programm" "JList " und "JSpinner" meiner Schulklasse vorstellen.

Nun hab ich ein Problem und komme nicht weiter.

Ich will, dass wenn man auf den Button drückt oben im TextArea angezeigt wird was man in der Liste ausgewählt hat.
Nun will ich mit dem Spinner aber, einstellen wie oft das im TestArea angezeigt werden soll. Ich weis aber nicht wie ich das hinbekommen soll, hab es zwar geschafft, dass er anzeigt was man ausgewählt hat, aber nicht die anzahl.

Ich hab es erst mit einer Schleife versucht, was aber nicht funktioniert, warum auch immer.

Kann mir da jemand helfen wie ich das machen soll?


Mein Code:

Java:
package JList;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JList;
import javax.swing.AbstractListModel;
import javax.swing.border.CompoundBorder;
import javax.swing.ListSelectionModel;
import javax.swing.JButton;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import javax.swing.JSpinner;
import javax.swing.SpinnerListModel;

public class Vorstellung extends JFrame {

	private JPanel contentPane;
	private JScrollPane scrollPane;
	private JTextArea textArea;
	private JList list;
	private JButton btnNewButton;
	private JSpinner spinner;
	private JButton btnReset;
	public int SpinnerWert;

	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Vorstellung frame = new Vorstellung();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	public Vorstellung() {
		initGUI();
	}
	
	
	private void initGUI() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 256, 378);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		
		scrollPane = new JScrollPane();
		contentPane.add(scrollPane, BorderLayout.NORTH);
		
		textArea = new JTextArea();
		textArea.setRows(10);
		scrollPane.setViewportView(textArea);
		
		list = new JList();
		list.setModel(new AbstractListModel() {
			String[] values = new String[] {"Eintrag 1", "Eintrag 2", "Eintrag 3", "Eintrag 4", "Eintrag 5", "Eintrag 6"};
			public int getSize() {
				return values.length;
			}
			public Object getElementAt(int index) {
				return values[index];
			}
		});
		list.setSelectedIndex(0);
		list.setSize(50, 150);
		contentPane.add(list, BorderLayout.SOUTH);
		
		btnNewButton = new JButton("Ausgabe!");
		btnNewButton.setSize(50, 50);
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				
				
				//for(int i = 0; i >= SpinnerWert; i++){
				
					textArea.append((String) list.getSelectedValue() + "\n");
					//textArea.append((String) spinner.getValue() + "\n");
					
				//}						
			}
		});
		contentPane.add(btnNewButton, BorderLayout.WEST);
		
		spinner = new JSpinner();
		spinner.setModel(new SpinnerListModel(new String[] {"1", "2", "3", "4", "5"}));
		contentPane.add(spinner, BorderLayout.EAST);
		
		
		
		btnReset = new JButton("Reset!");
		btnReset.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				textArea.setText("");
			}
		});
		contentPane.add(btnReset, BorderLayout.CENTER);
	}
	

}
 

Foxei

Bekanntes Mitglied
Hallo Crytek92,
du hast einige Sachen anweichend von dem Allgemeinen Standard gemacht.
Als erstes dein Layout du hast ein BorderLayout mit Hard gesetzten Size kombiniert. Da ein Border Layout für das was du machen wolltest Definition nicht die richtige Wahl war habe ich dies in ein GridBag Layout ungeändert wenn du dazu Fragen hast stelle sie Ruhig.
Zweitens hast du alle Componenten als Atribute über dem Konstriktor gesetzt obwohl du sie nicht noch einmal aufgerufen werden. Das brauchst du nicht da du keine UI WorkFlow Trennung vornimmst (Du hast deine ActionListener in der selben Klasse wie dein UI)
Drittens man sollte die Componenten auf die du zugreifst (bei dir die JList, das TextArea und den Spinner) vor den ActionComponenten (bei dir die beiden Buttons) erzeugen bei dir ist der Spinner und ein Button vertauscht. Dies führt nach der Entfernung der Atribute zu einem Fehler.

Nun aber zu deinem Problemm :D
Also du erzeigst einen String spinner also kannst du auch keine Zahl aus deinem Spinner auslesen. das Spinner Model zu einem SpinnerNumberModel ändern und du bist glücklich.
Java:
new SpinnerNumberModel(momentaner Wert, mindest Wert, maximaler Wert, Schrittweite dazwischen)

Dann würde ich keine AbstarctListModel sondern ein DefaultListModel nutzen. Und mit einer Schleife setzten so ersparen wir uns die Hard gesetzten Values.
Java:
DefaultListModel<String> model=new DefaultListModel<String>();
		for(int i=0;i<5;i++){
			model.addElement("Element "+i);
		}

Und ausgeben tun wir dann mit einer Schleife wie du schon selber festgestellt hast.
Java:
	int u=(int) spinner.getValue();
				for(int i = 0; i<u; i++){
					textArea.append(list.getSelectedValue() + "\n");
				}	
				textArea.append("Zahl im Spinner: "+spinner.getValue() + "\n");

Einmal deine ganze klasse Mit freundlichen Grüßen an dich zurück.
Java:
import java.awt.EventQueue;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JSpinner;
import javax.swing.JTextArea;
import javax.swing.SpinnerNumberModel;
import javax.swing.UIManager;
 

public class Vorstellung extends JFrame {

	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
					Vorstellung frame = new Vorstellung();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
 
	public Vorstellung() {
		initGUI();
	}
 
 
	private void initGUI() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(256, 378);
		setLocationRelativeTo(null);
		
		GridBagLayout layout=new GridBagLayout();
		layout.columnWeights=new double[]{1.0, 1.0, 1.0, Double.MIN_VALUE};
		layout.rowWeights=new double[]{1.0, 1.0, 0.0, Double.MIN_VALUE};
		setLayout(layout);
		
		JTextArea textArea = new JTextArea();
		JScrollPane scrollPane = new JScrollPane(textArea);
 		add(scrollPane, getConstraints(0, 0, 3,GridBagConstraints.BOTH));
 
		DefaultListModel<String> model=new DefaultListModel<String>();
		for(int i=0;i<5;i++){
			model.addElement("Element "+i);
		}

		JList<String>list = new JList<String>(model);
		add(list, getConstraints(0, 1, 3, GridBagConstraints.BOTH));
 
		JSpinner spinner = new JSpinner();
		spinner.setModel(new SpinnerNumberModel(1, 1, 10, 1));
		add(spinner, getConstraints(1, 2, 1, GridBagConstraints.HORIZONTAL));
 
		JButton btnNewButton = new JButton("Ausgabe!");
		btnNewButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				int u=(int) spinner.getValue();
				for(int i = 0; i<u; i++){
					textArea.append(list.getSelectedValue() + "\n");
				}	
				textArea.append("Zahl im Spinner: "+spinner.getValue() + "\n");	
			}
		});
		add(btnNewButton, getConstraints(0, 2, 1, GridBagConstraints.HORIZONTAL));
		
		JButton btnReset = new JButton("Reset");
		btnReset.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				textArea.setText("");
			}
		});
		add(btnReset, getConstraints(2, 2, 1, GridBagConstraints.HORIZONTAL));
	}
	private GridBagConstraints getConstraints(int x,int y,int width,int fill){
		GridBagConstraints gbc = new GridBagConstraints();
		gbc.insets = new Insets(2, 2, 2, 2);
		gbc.gridx = x;
		gbc.gridy = y;
		gbc.fill=fill;
		gbc.gridwidth=width;
		return gbc;
	}
 
}

p.s. ich hbae dein Programm den SystemStandart Look and Feel übernehmen lassen (es sieht in Windows auch wie Windows aus) das geht mit der Zeile in der static Main:
Java:
try {
	UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
	Vorstellung frame = new Vorstellung();
	frame.setVisible(true);
}catch (Exception e) {
        e.printStackTrace();
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
JavaBeginner22 Button Hilfe AWT, Swing, JavaFX & SWT 0
ExceptionOfExpectation Textdarstellung auf einem Canvas mit Hilfe von repaint(); AWT, Swing, JavaFX & SWT 6
senol JOptionPane hilfe!!! :(((( AWT, Swing, JavaFX & SWT 32
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
J Swing Hilfe bei Layout AWT, Swing, JavaFX & SWT 2
Zrebna JavaFX-Projekt mit Bildern funktioniert nicht - um Hilfe wird gebeten AWT, Swing, JavaFX & SWT 14
F BorderLayout Hilfe bei Anzeige AWT, Swing, JavaFX & SWT 2
J Hilfe beim tablevies AWT, Swing, JavaFX & SWT 2
T Swing Hilfe - Selbst Informatik Lehrer konnte mir nicht weiter Helfen AWT, Swing, JavaFX & SWT 2
W Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
A Swing TicTacToe-Bitte um Hilfe AWT, Swing, JavaFX & SWT 32
T Bitte um Hilfe AWT, Swing, JavaFX & SWT 2
T Hilfe bei Code AWT, Swing, JavaFX & SWT 2
S Hilfe bei Java Gui Anfänger AWT, Swing, JavaFX & SWT 5
J Warum geht das nicht? if-else usw..... compilieren geht nicht -- HILFE!!! AWT, Swing, JavaFX & SWT 10
M Problem mit Layoutmanagern... Hilfe wäre sehr nett. AWT, Swing, JavaFX & SWT 2
T Hilfe was mus ich tun um das fertige JfxFenster zu sehen AWT, Swing, JavaFX & SWT 2
R Hilfe beim ändern des Hintergrundes eines JFrames AWT, Swing, JavaFX & SWT 9
A hilfe für flowlayout AWT, Swing, JavaFX & SWT 6
N Swing Benötige Hilfe um ein Swing Canvas zu speichern AWT, Swing, JavaFX & SWT 4
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
C Gesucht: Hilfe beim programmieren. AWT, Swing, JavaFX & SWT 1
V Swing Brauche Hilfe mit Label AWT, Swing, JavaFX & SWT 3
C Hilfe beim programmieren mit studiumgebundenes Projekt AWT, Swing, JavaFX & SWT 1
T Swing JTable Zeile mit ausgelesenen Werten mit Hilfe von einem Button hinzufügen AWT, Swing, JavaFX & SWT 1
A JavaFX Hilfe beim Design eines Quiz AWT, Swing, JavaFX & SWT 2
H Swing Hilfe bei GUI AWT, Swing, JavaFX & SWT 4
T HILFE wie lösche ich gezeichnetes per tastendruck AWT, Swing, JavaFX & SWT 1
R Swing JOptionPane Fehlermeldung- bitte um Hilfe! AWT, Swing, JavaFX & SWT 4
Tausendsassa ImageIcon?! Hilfe! AWT, Swing, JavaFX & SWT 10
J GridBagLayout mit Hilfe einer For-Schleife befüllen AWT, Swing, JavaFX & SWT 1
M Hilfe bei Performanceverbesserung AWT, Swing, JavaFX & SWT 34
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
M SwingWorker Hilfe! AWT, Swing, JavaFX & SWT 10
K Swing Brauche Hilfe AWT, Swing, JavaFX & SWT 6
O AWT Performance und Bug behebung[brauche Hilfe] AWT, Swing, JavaFX & SWT 2
K Swing Konsolen Programm in GUI - Suche Hilfe bei Konsolenausgabe AWT, Swing, JavaFX & SWT 2
K Viele Textfield mit Hilfe eines MousListener leeren - möglich? AWT, Swing, JavaFX & SWT 8
I ausgewählte Zeile mit Hilfe der Tastatur löschen! AWT, Swing, JavaFX & SWT 3
Kenan89 Java FX GUI Hilfe für erste Java FX App AWT, Swing, JavaFX & SWT 8
B Rechteck Mit Hilfe Von Timeline, KeyFrames animieren AWT, Swing, JavaFX & SWT 3
J LayoutManager Hilfe bei Wahl des Layouts AWT, Swing, JavaFX & SWT 9
F Hilfe beim ausschalten von Robot AWT, Swing, JavaFX & SWT 7
N Hilfe bei Memory-Spiel AWT, Swing, JavaFX & SWT 18
L Swing Hilfe bei JTabelModel gesucht AWT, Swing, JavaFX & SWT 4
B Hilfe zu JTable und JTabbedPane AWT, Swing, JavaFX & SWT 18
K Hilfe bei Labels AWT, Swing, JavaFX & SWT 3
S Hilfe beim Lernprozess von java3d AWT, Swing, JavaFX & SWT 20
T JLayeredPanel - Hilfe AWT, Swing, JavaFX & SWT 7
C Swing Hilfe bei umsetzung eines Stundenplans. AWT, Swing, JavaFX & SWT 7
K Swing Hilfe beim JTree! AWT, Swing, JavaFX & SWT 3
N Hilfe bei Panels! AWT, Swing, JavaFX & SWT 11
F Swing Syntaxhighlighting Hilfe AWT, Swing, JavaFX & SWT 5
Jats Bitte um Hilfe bei JComboBox mit Array AWT, Swing, JavaFX & SWT 6
Jats Hilfe bei FocusListener für Taschenrechner AWT, Swing, JavaFX & SWT 4
N Swing nach Fensterrand Action ausführen? HILFE AWT, Swing, JavaFX & SWT 7
R Hilfe bei Bachelorrabeit. Seitenvorschau AWT, Swing, JavaFX & SWT 7
L Mein Kopf dreht sich... Brauche Hilfe beim GUI gestalten AWT, Swing, JavaFX & SWT 10
G Swing Hilfe-Fenster erstellen AWT, Swing, JavaFX & SWT 20
E LayoutManager Hilfe ein GridbagLayout!! AWT, Swing, JavaFX & SWT 7
K GUI-Hilfe für Anfänger AWT, Swing, JavaFX & SWT 15
J Schulprojekt und braucht hilfe AWT, Swing, JavaFX & SWT 54
G Hilfe! Command Pattern an easy ImageViewer? AWT, Swing, JavaFX & SWT 13
radiac Hilfe bei GUI AWT, Swing, JavaFX & SWT 22
N Hilfe bei erstellen eines Bibliotheksprogrammes AWT, Swing, JavaFX & SWT 15
H Swing Jtable wird nicht angezeigt..hilfe!! AWT, Swing, JavaFX & SWT 16
M DRINGEND HILFE TextPane RECHTSBÜNDIG AWT, Swing, JavaFX & SWT 2
B Swing Hilfe zu JTextField AWT, Swing, JavaFX & SWT 2
J Brauche ganz dringend Hilfe!!! AWT, Swing, JavaFX & SWT 5
V Bitte um Hilfe bei nem Taschenrechner AWT, Swing, JavaFX & SWT 8
F NullPointerException - HILFE!! AWT, Swing, JavaFX & SWT 20
G Hilfe!!!Sudoku AWT, Swing, JavaFX & SWT 19
M Swing JButton hilfe AWT, Swing, JavaFX & SWT 3
M brauche Hilfe um Einträge aus Jlist zu löschen AWT, Swing, JavaFX & SWT 4
Spin Hilfe - Erklärungsbedarf für Kreis AWT, Swing, JavaFX & SWT 5
O Bitte um Hilfe bei ComboBox in TableHeader AWT, Swing, JavaFX & SWT 9
M Erstellen eines Hilfe-Fenster bzw"Erste-Schritte" AWT, Swing, JavaFX & SWT 2
G Hilfe beim Erstellen eines eigenen Html-Editors! AWT, Swing, JavaFX & SWT 4
G Hilfe Meine JPanels verschwinden im Müll AWT, Swing, JavaFX & SWT 10
G Hilfe AWT, Swing, JavaFX & SWT 8
N ausrichtung Button - hilfe bitte AWT, Swing, JavaFX & SWT 2
T Hilfe zu Events? AWT, Swing, JavaFX & SWT 6
A Ini Datei Auswerten - HILFE! AWT, Swing, JavaFX & SWT 6
D Hilfe bei GUI-Elementen in Java AWT, Swing, JavaFX & SWT 9
D Grafikeinsteiger sucht/braucht Hilfe. Wäre Nett ! AWT, Swing, JavaFX & SWT 3
K Mein Informatikprojekt läuft aus dem Ruder Hilfe. F1 ^^ AWT, Swing, JavaFX & SWT 5
S Hilfe! Bekomme Daten nicht ausgelesen AWT, Swing, JavaFX & SWT 3
M hilfe! probleme mit meinem programm AWT, Swing, JavaFX & SWT 5
V Hilfe :( bekomme textarea nicht versetzt AWT, Swing, JavaFX & SWT 2
M Hilfe ich komme nicht an ein JTextArea AWT, Swing, JavaFX & SWT 4
J Hilfe CardLayout AWT, Swing, JavaFX & SWT 3
C Hilfe bei JInternalFrame AWT, Swing, JavaFX & SWT 6
G BubbleSort mit Hilfe einer Balkengrafik visualisieren AWT, Swing, JavaFX & SWT 9
G Leider trotz allem kein Icon :( Brauche Hilfe AWT, Swing, JavaFX & SWT 3
S sinuskurve hilfe! AWT, Swing, JavaFX & SWT 2
D JSplittPane - unsichtbarer Rahmen? hilfe ;) AWT, Swing, JavaFX & SWT 2
G Selbstprogrammierter Editor - brauche Hilfe AWT, Swing, JavaFX & SWT 5
J Hilfe bei EventListening AWT, Swing, JavaFX & SWT 3
M Hilfe bei vers. Fonts und Zeilenlänge in eigenem Editor. AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben