Wyświetlenie arraylist.

0

Mam arraylistę, którą chcę wyświetlić w okienku. Czy JPanel posiada coś na kolekcje?

0

O, i bardzo fajnie by to wyszło, dzięki wielkie. Ale jak przypisać arraylistę temu okienku. Bo chyba nie mogę się po prostu odwołać np. arraylist.imie ?

0

To ja może wrzucę listing: Łatwiej się będzie połapać co zamierzałem zrobić:

import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Collections;

import javax.swing.*;

public class Osoba extends Object implements Comparable <Osoba> {
String imie;
String nazwisko;
String uwagi;
float srednia;

public  void Nadaj_nazwisko(String lan)
{ nazwisko=lan;}
public String Podaj_nazwisko()
{ return nazwisko;}
public  void Nadaj_uwagi(String lan)
{ uwagi=lan;}
public String Podaj_uwagi()
 { return uwagi;}
public  void Nadaj_srednia(float srednia_)
{ srednia=srednia_;} 
public float Podaj_srednia()
 {return srednia;}

public static Osoba Wstaw(String imie ,String nazwisko, String uwagi, String srednia){
Osoba dane= new Osoba();
dane.Nadaj_nazwisko(nazwisko);
  dane.Nadaj_srednia(Float.parseFloat(srednia));
  dane.Nadaj_uwagi(uwagi);
  return dane;
}
public int compareTo(Osoba o) {
	return nazwisko.compareTo(o.nazwisko);
}
}

public class Aplikacja extends JFrame{
/**
* @param args
*/
String a;
private JTextField jtf_imie;
private JTextField jtf_nazwisko;
private JTextField jtf_uwagi;
private JTextField jtf_srednia;
private JButton jb_dodaj;
private JButton jb_usun;
private JTextArea jta_arraylista;
static ArrayList<Osoba> arraylista= new ArrayList<Osoba>();

public Aplikacja() {
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setLayout(null); //wyłącza autorozmieszczanie elementów w okienku

	ActionListener al = new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			if(e.getSource()== jb_dodaj){
			
			String imie= new String();
			imie=jtf_imie.getText();
				
			String nazwisko= new String();
			nazwisko=jtf_nazwisko.getText();
			
			String uwagi= new String();
			uwagi=jtf_uwagi.getText();
			
			String srednia= new String();
			srednia=jtf_srednia.getText();
			
			arraylista.add(Osoba.Wstaw(imie,nazwisko,uwagi,srednia));
			Collections.sort(arraylista);
			}
			if(e.getSource()== jb_usun){
				//tu coś trzeba włożyć	
			}
		}
			
	};
	
JLabel lab_imie = new JLabel("Imie:");
lab_imie.setBounds(10, 10, 120, 20);

JLabel lab_nazwisko = new JLabel("Nazwisko:");
lab_nazwisko.setBounds(150, 10, 120, 20);

JLabel lab_uwagi = new JLabel("Uwagi:");
lab_uwagi.setBounds(300, 10, 120, 20);

JLabel lab_srednia = new JLabel ("Średnia:");
lab_srednia.setBounds(450, 10, 120 ,20);

jtf_imie = new JTextField();
jtf_imie.setBounds(10, 40, 100, 20);

jtf_nazwisko = new JTextField();
jtf_nazwisko.setBounds(150, 40, 120, 20);

jtf_uwagi = new JTextField();
jtf_uwagi.setBounds(300, 40, 120, 20);

jtf_srednia = new JTextField();
jtf_srednia.setBounds(450, 40, 120, 20);

jb_dodaj = new JButton("Dodaj");
jb_dodaj.setBounds(235, 80, 100, 20);




add (lab_imie);
add (lab_nazwisko);
add (lab_uwagi);
add (lab_srednia);
add (jtf_imie);
add (jtf_nazwisko);
add (jtf_uwagi);
add (jtf_srednia);
add (jb_dodaj);
//add (jb_usun);


setSize(600, 200);
setVisible(true);
}
public static void main(String[] args) {
	SwingUtilities.invokeLater(new Runnable(){
		public void run() {
			new Aplikacja();
		}
	});
}

}

0

Zapiszcie mi chociaż jeden wiersz, tak, żeby mi to chodziło, a dalej to już sam spróbuje.

0

W tym tutorialu co podałem jest to ładnie opisane i jest nawet podany przykład z kodem.
http://download.oracle.com/javase/tutorial/uiswing/examples/components/index.html#SimpleTableDemo

Poza tym nie używaj dziwolągów typu nadajDupa, podajDupa tylko setDupa, getDupa jak mówią Javowe konwencje. Nie używaj podkreślników w nazwach, nazwy metod czy zmiennych zaczynaj od małej litery itp itd Twój kod w Javie powinien wyglądać jak normalny kod Javowy, a nie powodować lawinę WTFów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1