• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

java aplikacja okienkowa zdatzenia

VPS Starter Arubacloud
0 głosów
682 wizyt
pytanie zadane 21 sierpnia 2016 w Java przez Silverwind Użytkownik (730 p.)

private void createEvents(AppController controler) {

		comboBox.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				

				 for (Date date : dataList) {
				
				 if (comboBox.getSelectedItem().equals(date.getXmlDate())){
				 List<Pozycja> list = date.getPozycje();
				
				 for (Pozycja pozycja : list) {
				 comboBox_1.addItem(pozycja.getNazwaWaluty());
				 if
				 (comboBox_1.getSelectedItem().equals(pozycja.getNazwaWaluty()))
				 {
				 label_1.setText(String.valueOf(pozycja.getPrzelicznik()));
				 label.setText(pozycja.getKursSredni());
				
				 }

 

Jak wybieram date to waluty dodają mi się do list muszę użyć innej funkcji niź addItem.. Czy jest jakaś fukcja czyszcząca wartości ?  

 

1 odpowiedź

0 głosów
odpowiedź 21 sierpnia 2016 przez MichuDev Pasjonat (20,300 p.)
  • Podaj więcej kodu. Wraz z importami.
  • Zamiast klasy anonimowej możesz użyć lambdy (od JDK 8):
    comboBox.addActionListener((ActionEvent e) -> {
    for (Date date : dataList) {
                     
                     if (comboBox.getSelectedItem().equals(date.getXmlDate())){
                     List<Pozycja> list = date.getPozycje();
                     
                     for (Pozycja pozycja : list) {
                     comboBox_1.addItem(pozycja.getNazwaWaluty());
                     if
                     (comboBox_1.getSelectedItem().equals(pozycja.getNazwaWaluty()))
                     {
                     label_1.setText(String.valueOf(pozycja.getPrzelicznik()));
                     label.setText(pozycja.getKursSredni());
                     
                     }
    });

     

komentarz 21 sierpnia 2016 przez Silverwind Użytkownik (730 p.)

Widok

package przelicznik.kursow.view;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JLabel;
import javax.swing.LayoutStyle.ComponentPlacement;

import jaxb.tabela_kursow.TabelaKursow.Pozycja;

import javax.swing.JComboBox;
import javax.swing.JTextPane;
import javax.swing.SwingConstants;

import przelicznik.kursow.controller.AppController;
import przelicznik.kursow.model.Date;

import java.awt.Dimension;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.Font;
import java.util.ArrayList;
import java.util.List;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class ViewAplication {

	public JFrame frame;
	private JTextField textField_1;
	private JComboBox<String> comboBox;
	private JComboBox<String> comboBox_1;
	private JLabel label_1;
	private JLabel label;
	private List<Date> dataList = new ArrayList<Date>();
	private JButton btnNewButton;
	private JTextField textField;
	private JTextField textField_2;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					ViewAplication window = new ViewAplication();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the application.
	 */
	public ViewAplication() {
		AppController controler = new AppController();
		dataList = controler.getData();
		initComponent();
		createEvents();
	}

	private void createEvents() {

		comboBox.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {

				for (Date date : dataList) {

					if (comboBox.getSelectedItem().equals(date.getXmlDate())) {
						List<Pozycja> list = date.getPozycje();

						for (Pozycja pozycja : list) {
							comboBox_1.addItem(pozycja.getNazwaWaluty());
						}
					}
				}

			}

		});
		comboBox_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				for (Date date : dataList) {
					if (comboBox.getSelectedItem().equals(date.getXmlDate())) {
						List<Pozycja> list = date.getPozycje();

						for (Pozycja pozycja : list) {
							if (comboBox_1.getSelectedItem().equals(pozycja.getNazwaWaluty())) {
								label_1.setText(String.valueOf(pozycja.getPrzelicznik()));
								label.setText(pozycja.getKursSredni());

							}
						}

					}

				}
			}
		});

		btnNewButton.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				double kursSredni = Double.parseDouble(label.getText().replace(",", "."));
				double przelicznik = Double.parseDouble(label_1.getText().replace(",", "."));
				double ilosc = Double.parseDouble(textField.getText().replace(",", "."));
				double oblicz = ilosc * kursSredni;
				System.out.println(Double.toString(oblicz));
				textField_2.setText(Double.toString(oblicz));
			}
		});

	}

	private void initComponent() {
		frame = new JFrame();
		frame.setBounds(100, 100, 631, 362);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		JLabel lblWaluta = new JLabel("Waluta");
		////////////////////////////////////////////////////////////////
		//////// Add value
		///////////////////////////////////////////////////////////////
		comboBox = new JComboBox<String>();

		for (Date date : dataList) {

			comboBox.addItem(date.getXmlDate());
		}

		comboBox_1 = new JComboBox<String>();

		JLabel lblPrzelicznik = new JLabel("Przelicznik");

		JLabel lblKursWaluty = new JLabel("Kurs waluty");

		label = new JLabel("New label");
		label.setHorizontalAlignment(SwingConstants.CENTER);

		JLabel lblData = new JLabel("Data");

		label_1 = new JLabel("New label");
		label_1.setHorizontalAlignment(SwingConstants.CENTER);

		JLabel lblIlo = new JLabel("Ilo\u015B\u0107 ");

		textField = new JTextField();
		textField.setColumns(10);

		JLabel lblWynik = new JLabel("Wynik");

		btnNewButton = new JButton("OK");

		JButton button = new JButton("OK");

		JLabel label_4 = new JLabel("Wynik");

		JLabel label_5 = new JLabel("Ilo\u015B\u0107 ");

		JLabel label_6 = new JLabel("Przelicznik");

		JLabel label_7 = new JLabel("Waluta");

		JLabel label_8 = new JLabel("Kurs waluty");

		JLabel lblData_1 = new JLabel("Data");

		JComboBox<?> comboBox_2 = new JComboBox<Object>();

		JLabel label_10 = new JLabel("New label");
		label_10.setHorizontalAlignment(SwingConstants.CENTER);

		JComboBox<?> comboBox_3 = new JComboBox<Object>();

		JLabel label_11 = new JLabel("New label");
		label_11.setHorizontalAlignment(SwingConstants.CENTER);

		textField_1 = new JTextField();
		textField_1.setColumns(10);

		JLabel label_12 = new JLabel("New label");
		label_12.setHorizontalAlignment(SwingConstants.CENTER);

		JLabel lblNewLabel = new JLabel("Przelicznik Walut");
		lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
		lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 22));

		textField_2 = new JTextField();
		textField_2.setColumns(10);
		GroupLayout groupLayout = new GroupLayout(frame.getContentPane());
		groupLayout
				.setHorizontalGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout
						.createSequentialGroup().addGap(56).addGroup(groupLayout
								.createParallelGroup(Alignment.LEADING).addGroup(groupLayout
										.createSequentialGroup().addGroup(groupLayout
												.createParallelGroup(Alignment.TRAILING)
												.addComponent(lblWynik, GroupLayout.PREFERRED_SIZE, 57,
														GroupLayout.PREFERRED_SIZE)
												.addComponent(lblIlo, GroupLayout.PREFERRED_SIZE, 57,
														GroupLayout.PREFERRED_SIZE)
												.addComponent(lblPrzelicznik, GroupLayout.PREFERRED_SIZE, 57,
														GroupLayout.PREFERRED_SIZE)
												.addComponent(lblWaluta, GroupLayout.PREFERRED_SIZE, 57,
														GroupLayout.PREFERRED_SIZE)
												.addComponent(lblKursWaluty, GroupLayout.PREFERRED_SIZE,
														57, GroupLayout.PREFERRED_SIZE)
												.addComponent(lblData, GroupLayout.PREFERRED_SIZE, 57,
														GroupLayout.PREFERRED_SIZE))
										.addPreferredGap(ComponentPlacement.UNRELATED)
										.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
												.addComponent(textField_2, GroupLayout.PREFERRED_SIZE, 92,
														GroupLayout.PREFERRED_SIZE)
												.addComponent(comboBox, GroupLayout.PREFERRED_SIZE, 92,
														GroupLayout.PREFERRED_SIZE)
												.addComponent(label, GroupLayout.PREFERRED_SIZE, 92,
														GroupLayout.PREFERRED_SIZE)
												.addComponent(comboBox_1, GroupLayout.PREFERRED_SIZE, 92,
														GroupLayout.PREFERRED_SIZE)
												.addComponent(label_1, GroupLayout.PREFERRED_SIZE, 92,
														GroupLayout.PREFERRED_SIZE)
												.addComponent(textField, GroupLayout.PREFERRED_SIZE, 92,
														GroupLayout.PREFERRED_SIZE)))
								.addComponent(btnNewButton, GroupLayout.PREFERRED_SIZE, 53, GroupLayout.PREFERRED_SIZE))
						.addPreferredGap(ComponentPlacement.RELATED, 163, Short.MAX_VALUE)
						.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
								.addComponent(button, GroupLayout.PREFERRED_SIZE, 53, GroupLayout.PREFERRED_SIZE)
								.addGroup(groupLayout.createSequentialGroup()
										.addComponent(lblData_1, GroupLayout.PREFERRED_SIZE, 57,
												GroupLayout.PREFERRED_SIZE)
										.addGap(10).addComponent(comboBox_2, GroupLayout.PREFERRED_SIZE, 92,
												GroupLayout.PREFERRED_SIZE))
								.addGroup(groupLayout.createSequentialGroup()
										.addComponent(label_7, GroupLayout.PREFERRED_SIZE, 57,
												GroupLayout.PREFERRED_SIZE)
										.addGap(10).addComponent(comboBox_3, GroupLayout.PREFERRED_SIZE, 92,
												GroupLayout.PREFERRED_SIZE))
								.addGroup(groupLayout.createSequentialGroup()
										.addComponent(label_6, GroupLayout.PREFERRED_SIZE, 57,
												GroupLayout.PREFERRED_SIZE)
										.addGap(10).addComponent(label_11, GroupLayout.PREFERRED_SIZE, 92,
												GroupLayout.PREFERRED_SIZE))
								.addGroup(groupLayout.createSequentialGroup()
										.addComponent(label_8, GroupLayout.PREFERRED_SIZE, 57,
												GroupLayout.PREFERRED_SIZE)
										.addGap(10).addComponent(label_10, GroupLayout.PREFERRED_SIZE, 92,
												GroupLayout.PREFERRED_SIZE))
								.addGroup(groupLayout.createSequentialGroup()
										.addComponent(label_5, GroupLayout.PREFERRED_SIZE, 57,
												GroupLayout.PREFERRED_SIZE)
										.addGap(10).addComponent(textField_1, GroupLayout.PREFERRED_SIZE, 92,
												GroupLayout.PREFERRED_SIZE))
								.addGroup(groupLayout.createSequentialGroup()
										.addComponent(label_4, GroupLayout.PREFERRED_SIZE, 57,
												GroupLayout.PREFERRED_SIZE)
										.addGap(10).addComponent(label_12, GroupLayout.PREFERRED_SIZE, 92,
												GroupLayout.PREFERRED_SIZE)))
						.addGap(78)).addGroup(
								groupLayout
										.createSequentialGroup().addGap(159).addComponent(lblNewLabel,
												GroupLayout.PREFERRED_SIZE, 300, GroupLayout.PREFERRED_SIZE)
										.addContainerGap(156, Short.MAX_VALUE)));
		groupLayout
				.setVerticalGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout
						.createSequentialGroup().addGap(28).addComponent(lblNewLabel, GroupLayout.PREFERRED_SIZE, 28,
								GroupLayout.PREFERRED_SIZE)
						.addGap(18)
						.addGroup(groupLayout.createParallelGroup(Alignment.LEADING).addGroup(groupLayout
								.createSequentialGroup()
								.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
										.addComponent(lblData_1, GroupLayout.PREFERRED_SIZE, 23,
												GroupLayout.PREFERRED_SIZE)
										.addGroup(groupLayout.createSequentialGroup().addGap(1).addComponent(comboBox_2,
												GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
												GroupLayout.PREFERRED_SIZE)))
								.addGap(11)
								.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
										.addComponent(label_7, GroupLayout.PREFERRED_SIZE, 23,
												GroupLayout.PREFERRED_SIZE)
										.addGroup(groupLayout.createSequentialGroup().addGap(1).addComponent(comboBox_3,
												GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
												GroupLayout.PREFERRED_SIZE)))
								.addGap(6)
								.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
										.addComponent(label_6, GroupLayout.PREFERRED_SIZE, 23,
												GroupLayout.PREFERRED_SIZE)
										.addComponent(label_11, GroupLayout.PREFERRED_SIZE, 22,
												GroupLayout.PREFERRED_SIZE))
								.addGap(6)
								.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
										.addComponent(label_8, GroupLayout.PREFERRED_SIZE, 23,
												GroupLayout.PREFERRED_SIZE)
										.addComponent(label_10, GroupLayout.PREFERRED_SIZE, 22,
												GroupLayout.PREFERRED_SIZE))
								.addGap(6)
								.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
										.addComponent(label_5, GroupLayout.PREFERRED_SIZE, 23,
												GroupLayout.PREFERRED_SIZE)
										.addGroup(groupLayout.createSequentialGroup().addGap(1).addComponent(
												textField_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,
												GroupLayout.PREFERRED_SIZE)))
								.addGap(6)
								.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
										.addComponent(label_4, GroupLayout.PREFERRED_SIZE, 23,
												GroupLayout.PREFERRED_SIZE)
										.addComponent(label_12, GroupLayout.PREFERRED_SIZE, 22,
												GroupLayout.PREFERRED_SIZE)))
								.addGroup(groupLayout.createSequentialGroup()
										.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
												.addComponent(comboBox, GroupLayout.PREFERRED_SIZE,
														GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
												.addComponent(lblData, GroupLayout.PREFERRED_SIZE, 23,
														GroupLayout.PREFERRED_SIZE))
										.addPreferredGap(ComponentPlacement.UNRELATED)
										.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
												.addComponent(lblWaluta, GroupLayout.PREFERRED_SIZE, 23,
														GroupLayout.PREFERRED_SIZE)
												.addComponent(comboBox_1, GroupLayout.PREFERRED_SIZE,
														GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
										.addPreferredGap(ComponentPlacement.RELATED)
										.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
												.addComponent(lblPrzelicznik, GroupLayout.PREFERRED_SIZE, 23,
														GroupLayout.PREFERRED_SIZE)
												.addComponent(label_1, GroupLayout.PREFERRED_SIZE, 22,
														GroupLayout.PREFERRED_SIZE))
										.addPreferredGap(ComponentPlacement.RELATED)
										.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
												.addComponent(lblKursWaluty, GroupLayout.PREFERRED_SIZE, 23,
														GroupLayout.PREFERRED_SIZE)
												.addComponent(label, GroupLayout.PREFERRED_SIZE, 22,
														GroupLayout.PREFERRED_SIZE))
										.addPreferredGap(ComponentPlacement.RELATED)
										.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
												.addComponent(lblIlo, GroupLayout.PREFERRED_SIZE, 23,
														GroupLayout.PREFERRED_SIZE)
												.addComponent(textField, GroupLayout.PREFERRED_SIZE,
														GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
										.addPreferredGap(ComponentPlacement.RELATED)
										.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
												.addComponent(lblWynik, GroupLayout.PREFERRED_SIZE, 23,
														GroupLayout.PREFERRED_SIZE)
												.addComponent(textField_2, GroupLayout.PREFERRED_SIZE,
														GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))))
						.addPreferredGap(ComponentPlacement.UNRELATED).addGroup(groupLayout
								.createParallelGroup(Alignment.LEADING).addComponent(button).addComponent(btnNewButton))
						.addContainerGap(42, Short.MAX_VALUE)));
		frame.getContentPane().setLayout(groupLayout);
	}
}

 

 

 

komentarz 21 sierpnia 2016 przez Silverwind Użytkownik (730 p.)

Model

 

package przelicznik.kursow.model;

import java.util.List;

import javax.xml.datatype.XMLGregorianCalendar;

import jaxb.tabela_kursow.TabelaKursow.Pozycja;

public class Date {
protected String xmlDate;
protected  List<Pozycja> pozycje;


public Date(String xmlDate, List<Pozycja> pozycje) {
	super();
	this.xmlDate = xmlDate;
	this.pozycje = pozycje;
}



public String getXmlDate() {
	return xmlDate;
}
public void setXmlDate(String  xmlDate) {
	this.xmlDate = xmlDate;
}
public List<Pozycja> getPozycje() {
	return pozycje;
}

public void setElementy(List<Pozycja> pozycje) {
	this.pozycje = pozycje;
}

@Override
public String toString() {
	return "Date [xmlDate=" + xmlDate + ", elementy=" + pozycje + "]";
}
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////

package przelicznik.kursow.model;

import javax.xml.datatype.XMLGregorianCalendar;

public class Pozycja {
	protected String nazwaWaluty;
	protected int przelicznik;
	protected String kodWaluty;
	protected String kursSredni;
	public Date xmlDateParent;
	public Pozycja(){
		
	}
	
	
	public Pozycja(String nazwaWaluty,  String kodWaluty, String kursSredni,int przelicznik) {
		super();
		this.nazwaWaluty = nazwaWaluty;
		this.przelicznik = przelicznik;
		this.kodWaluty = kodWaluty;
		this.kursSredni = kursSredni;
		
	}
	

	public Pozycja(String nazwaWaluty, int przelicznik, String kodWaluty, String kursSredni,Date xmlDateParent) {
		super();
		this.nazwaWaluty = nazwaWaluty;
		this.przelicznik = przelicznik;
		this.kodWaluty = kodWaluty;
		this.kursSredni = kursSredni;
		this.xmlDateParent=xmlDateParent;
	}
	

	public String getNazwaWaluty() {
		return nazwaWaluty;
	}

	public void setNazwaWaluty(String nazwaWaluty) {
		this.nazwaWaluty = nazwaWaluty;
	}

	public int getPrzelicznik() {
		return przelicznik;
	}

	public void setPrzelicznik(int przelicznik) {
		this.przelicznik = przelicznik;
	}

	public String getKodWaluty() {
		return kodWaluty;
	}

	public void setKodWaluty(String kodWaluty) {
		this.kodWaluty = kodWaluty;
	}

	public String getKursSredni() {
		return kursSredni;
	}

	public void setKursSredni(String kursSredni) {
		this.kursSredni = kursSredni;
	}

	@Override
	public String toString() {
		return "Pozycja [nazwaWaluty=" + nazwaWaluty + ", przelicznik=" + przelicznik + ", kodWaluty=" + kodWaluty
				+ ", kursSredni=" + kursSredni + "]";
	}
}

Controller

package przelicznik.kursow.controller;

import java.awt.EventQueue;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import jaxb.tabela_kursow.TabelaKursow.Pozycja;
import przelicznik.kursow.model.Data;
import przelicznik.kursow.model.Date;
import przelicznik.kursow.view.ViewAplication;

public class AppController {

	public void start() {

		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					ViewAplication window = new ViewAplication();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});

	}

	public List<Date> getData() {
		List<Date> dataApplication = new ArrayList<Date>();
		Data dataBaseAplication = new Data();
		try {
			String p = dataBaseAplication.urlReader();
			dataApplication = Data.getDataFile(p);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return dataApplication;
	}

Man problem z tymi zdarzeniami jak przy odpowiedniej dacie wyświetlić walutę a potem jej kurs Dane składają z LIst<Date> ta z kolejii z class Date(String xmlDate,LIst<Pozycja> to z kolej z class Pozycja (kursWalut nazwaWalut przelicznik kodWaluty.

Podobne pytania

0 głosów
3 odpowiedzi 826 wizyt
pytanie zadane 8 września 2019 w Java przez niezalogowany
0 głosów
2 odpowiedzi 727 wizyt
pytanie zadane 9 października 2017 w Java przez maly93 Użytkownik (640 p.)
0 głosów
0 odpowiedzi 245 wizyt

92,979 zapytań

141,943 odpowiedzi

321,189 komentarzy

62,308 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...