Liste mit repaint aktualisieren

MukundaDatta

Neues Mitglied
[Java]public class GUI extends JFrame {
// Von Eclipse Automatisch erstellt
private static final long serialVersionUID = -4266458798483514213L;

public class Panel extends JPanel implements ActionListener {

// Instanzvariablen der inneren Klasse deklarieren
private JLabel text;
private JTextField eingabe;
private JButton anzeigen, speichern, beenden;
private Image img;
private Background liste;

// Der Konstruktor der inneren Klasse
public Panel(String titel) {
try {
img = ImageIO.read(getClass().getResource("papier.jpg"));
} catch (IOException e) {
e.printStackTrace();
System.out.println("Das Bild wurden nicht gefunden");
}
setLayout(null);
text = new JLabel("<html>Willkommen im Editor der Wörterliste Bitte geben Sie ein neues Wort ein</html>");
text.setBounds(140, 50, 230, 90);
eingabe = new JTextField();
eingabe.setBounds(100, 150, 300, 30);
anzeigen = new JButton("Anzeigen");
anzeigen.setBounds(50, 220, 100, 30);
speichern = new JButton("Speichern");
speichern.setBounds(200, 220, 100, 30);
beenden = new JButton("Beenden");
beenden.setBounds(350, 220, 100, 30);
// Die Buttons und Labels werden den JPanel zugeordnet
add(text);
add(eingabe);
add(anzeigen);
add(speichern);
add(beenden);
// Die Buttons werden dem Listener zugeordnet
anzeigen.addActionListener(this);
speichern.addActionListener(this);
beenden.addActionListener(this);
//

// Größe setzen, Sichtbarkeit aktivieren, größenänderung abschalten,
setSize(500, 300);
liste = new Background();
//Background suchwort = new Background();

setVisible(true);
setResizable(false);
}

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(img, 0, 0, this);
}

public Image getBackgroundImage() {
return img;
}

// Die Methode für den Abruf
@Override
public void actionPerformed(ActionEvent e) {
Background.Editor test = liste.new Editor();
String wort = eingabe.getText();

if (e.getSource() == anzeigen) {
//Background suchwort = new Background();
test.datenLesen();
}
if (e.getSource() == speichern) {
test.setzeWort(wort);
eingabe.setText(null);
}
if (e.getSource() == beenden) {
System.exit(0);
}
}
}

// Der Konstruktor
public GUI(String titel) {
super(titel);
Panel backgroundPanel = new Panel(titel);
add(backgroundPanel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(backgroundPanel.getBackgroundImage().getWidth(backgroundPanel), backgroundPanel.getBackgroundImage().getHeight(backgroundPanel));
// Für die Optik: Bildschirmgröße bestimmen, Speichern und mittig ausrichten
Dimension bGroesse = Toolkit.getDefaultToolkit().getScreenSize();
setLocation((bGroesse.width - getSize().width) / 2, (bGroesse.height - getSize().height) / 2);
setVisible(true);

}
} [/Java]
[Java]public class Background extends JFrame {
private Editor test;
private static final long serialVersionUID = -4108625137157275652L;

public class Editor extends JPanel{

// Instanzvariablen für die eigentliche Liste deklarieren
private Liste [] wortliste;
private JLabel spalte1, spalte2;
private String dateiWort;
private int anzahl;
private int nummer;
private Image img;

// Die 2te innere Klasse für die Liste
public class Liste implements Comparable<Liste>{
// Die Instanzvariablen
private int listeNummer;
private String listeWort;

// Der Konstruktor der 2ten inneren Klasse Liste
// Er ruft die Methode setzeEintrag() auf
public Liste (int listeNummer, String listeWort){
setzeEintrag(listeNummer, listeWort);

}
// Die überschriebene Vergleichsmethode
// Der Rückgabewert steuert die Sortierung
@Override
public int compareTo(Liste tempList){
if (this.listeWort.equals("???"))
return 1;
if (this.listeWort == tempList.listeWort)
return -1;
else
return -1;
}
// Die Methode setze Einträge in der Liste
public void setzeEintrag (int listeNummer, String listeWort){
this.listeWort = listeWort;
//if (listeNummer == this.listeNummer)
this.listeNummer = listeNummer;
}
// Die Methode setzt das Wort
public void setzeWort (String listeWort){
this.listeWort = listeWort;
}
// Die Methode liefert die Eintragsnummer
public int getListeNummer(){
return listeNummer;
}
// Die Methode liefert das Wort
public String getListeWort(){
return listeWort;
}
}

// Der Konstruktor der ersten inneren Klasse
public Editor (){

// Die Wortliste hat 20 Eintrage
anzahl = 20;
// Eine neue Instanz für die wortliste erzeugen
wortliste = new Liste[anzahl];
// Die Elemente initialisieren
for (int index = 0; index < anzahl; index++){
nummer ++;
wortliste[index] = new Liste(nummer,"???");
}
nummer = 0;
// Initialisierung von dateiName
dateiWort = "wortliste.dat";
// Test ob Datei "wortliste.dat" vorhanden
File dateiTest = new File(dateiWort);
// Wenn Datei "wortliste.dat" vorhanden, Datei einlesen
if (dateiTest.exists()== true)datenLesen();
setLayout(new GridLayout(0,2));
spalte1 = new JLabel("Nummer");
spalte2 = new JLabel("Wort");
// JLabels dem JPanel zuordnen
add(spalte1);
add(spalte2);
try{
img = ImageIO.read(getClass().getResource("papier2.jpg"));
}catch(IOException e){
e.printStackTrace(); System.out.println("Das Bild wurde nicht gefunden");
}
// Sichtbarkeit aktivieren, größenänderung abschalten
setVisible (true);
setResizable(false);
}
public void datenLesen(){
// Zum leichteren Verarbeiten
String tempWort;
int tempNummer;
// Die Datei zum Lesen öffen
try (RandomAccessFile datei = new RandomAccessFile(dateiWort, "r")){
// Die Daten aus der Datei lesen
for (int index = 0; index < anzahl; index++){
//erst die Nummer
tempNummer = datei.readInt();
// Dann die Wörter
tempWort = datei.readUTF();
// und nun zuweisen
wortliste[index].setzeEintrag(tempNummer, tempWort);
}
}
catch (IOException e){
JOptionPane.showMessageDialog(this, "Beim Laden der Bestenliste ist ein Problem aufgetreten");
}
}

public void setzeWort (String wort){
String tempWort;
nummer ++;
if (nummer < wortliste[anzahl-1].getListeNummer()){
tempWort = wort;
if (tempWort == null)
tempWort = "Leer";
// Den neuen Eintrag setzen
wortliste[anzahl-1].setzeWort(tempWort);
// Die Liste sortieren
Arrays.sort(wortliste);
datenSchreiben();
System.out.println("Haribol " + wort);
}
}

// Die Methode schreibt die Bestenliste komplett in eine binäre Datei wortliste.dat
public void datenSchreiben(){
// Die Datei zum Lesen und Schreiben öffnen
try (RandomAccessFile datei = new RandomAccessFile(dateiWort,"rw")){
// Die Daten in die Datei schreiben
for (int index = 0; index < anzahl; index++){
// Erst die Punkte
datei.writeInt(wortliste[index].getListeNummer());
// Dann den Namen
datei.writeUTF(wortliste[index].getListeWort());
}
}
catch (IOException e){
JOptionPane.showMessageDialog(this,"Beim Schreiben der Bestenliste ist ein Problem aufgetreten");
}
}
// Die Methode liest die Bestenliste komplett aus einer binären Datei wortliste.dat

@Override
protected void paintComponent (Graphics g){
super.paintComponent(g);
g.drawImage(img, 0, 0, this);
datenLesen();
System.out.println("yuhu repaint");
for (int index = 0; index < anzahl; index++){
add(new JLabel(Integer.toString(wortliste[index].getListeNummer())));
add(new JLabel(wortliste[index].getListeWort()));
System.out.println("yuhu repaint");
}
}
public Image getBackgroundImage() {
return img;
}
}
// Der Konstruktor der Hauptklasse
public Background (){
test = new Editor();
add(test);
setSize (test.getBackgroundImage().getWidth(test),test.getBackgroundImage().getHeight(test));
setVisible(true);
}
}
[/Java]
Guten Abend

Ich habe für mich eine größe und für euch warscheinlich eine kleine Herrausforderung.

Ich versuche einen Wortlisteneditor zu erstellen, dieser ist erschaffen, doch seine funktion ist noch unvollkommen.

Er besteht aus 2 Hauptklassen (GUI und Background)
GUI hat noch eine innere Klasse Panel und
Backgroung hat 2 innere Klassen Editor und Liste.

Die Steuernde Hauptklasse arbeitet wie Sie soll allerdings gibt es etwas was mir noch nicht einleuchtet.

Wenn ich die Klasse Background 1x initialisiere erscheinen nur die JLabels Nummer und Wort

Wenn ich die Klasse Background 2x initialisiere wird mir die Wortliste auch angezeigt.

Welche änderungen und Anpassungen an meinem Quellcode sind erforderlich damit die Wortliste schon bei einer Initialisierung aufgerufen wird??

Und wie kann ich die aktualisierte Liste mit repaint aktuell anzeigen und erneuern??:noe:
 

Anhänge

  • Editor.jar
    12,3 KB · Aufrufe: 3

Androbin

Bekanntes Mitglied
Also für mich klingt das so, als hättest du "setVisible( true );" nicht ganz zu Schluss aufgerufen.
Das ist für dieses Problem der Standardfehler, aber in deinem Code kann ich diesen nicht finden.

Tut mir leid, ich weiß, das ist nicht gerade viel Info, aber nur mal so der Vollständigkeit halber.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
R Liste und Arrays Java Basics - Anfänger-Themen 12
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
M Verkettete Liste Java Basics - Anfänger-Themen 1
M Vergleichen, ob eine Liste länger als andere ist Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
E Elemente aus Liste entfernen und hinzufügen Java Basics - Anfänger-Themen 3
M Nullpointer beim befüllen meiner Liste im Object Java Basics - Anfänger-Themen 3
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
B Objekt aus generalisierter Liste entfernen Java Basics - Anfänger-Themen 11
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
W Liste mit Listen in JTable darstellen Java Basics - Anfänger-Themen 1
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
E Suchfunktion in einer Liste Java Basics - Anfänger-Themen 39
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
sserio Wieso werden nicht alle Primzahlen bis 1000 in meine Liste gepackt ? Java Basics - Anfänger-Themen 8
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
K Warum ist die binäre Suche bei der verketteten Liste nicht so effektiv? Java Basics - Anfänger-Themen 3
I 2D-Array Position der Liste ausgeben. Java Basics - Anfänger-Themen 2
I Liste von Infos von einer eigenen Annotation in Liste speichern Java Basics - Anfänger-Themen 0
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
Igig1 Autoparkplatz verkettete Liste erstes und letztes Auto Java Basics - Anfänger-Themen 13
thor_norsk Verkette Liste Java Basics - Anfänger-Themen 27
R Rückgabe: verkettete Liste Java Basics - Anfänger-Themen 2
R einfach verkettete Liste Java Basics - Anfänger-Themen 1
R einfach verkettete Liste Java Basics - Anfänger-Themen 12
O Doppelt verkette Liste Element löschen Java Basics - Anfänger-Themen 15
B GUI extension mit einer Liste verbinden Java Basics - Anfänger-Themen 1
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
M Java Liste streamen Java Basics - Anfänger-Themen 10
AmsananKING Aussortierung einer Liste Java Basics - Anfänger-Themen 8
A Objekte mit Parametern in eine Liste packen Java Basics - Anfänger-Themen 19
A Korrigierte <String> Liste zurückgeben Java Basics - Anfänger-Themen 22
S Kann nicht auf die Liste zugreifen mit der Methode!? Java Basics - Anfänger-Themen 3
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
J Doppelt verkette Liste ich bitte um Hilfe Java Basics - Anfänger-Themen 4
I Liste gruppieren nach Monat? Java Basics - Anfänger-Themen 5
districon Element in Liste einfügen Java Basics - Anfänger-Themen 1
B Hilfe bei Map Liste erstellen Java Basics - Anfänger-Themen 10
Y Einfügen in eine doppelt verkettete Liste Java Basics - Anfänger-Themen 8
Y Knoten an einem gegebenen Index aus einer Liste entfernen. Java Basics - Anfänger-Themen 6
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
Gaudimagspam Linked Liste Java Basics - Anfänger-Themen 4
Z Liste umkehren Java Basics - Anfänger-Themen 1
S Eine Liste kopieren Java Basics - Anfänger-Themen 13
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13
java3690 Liste mit zufälligen zahlen füllen Java Basics - Anfänger-Themen 27
java3690 eine liste sortieren Java Basics - Anfänger-Themen 12
J Element aus Liste nehmen Java Basics - Anfänger-Themen 3
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
P Was genau bringt mir es ein Array in eine Liste zu bringen Java Basics - Anfänger-Themen 3
A Doppelt verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 17
P Verschachtelte Array Liste Java Basics - Anfänger-Themen 2
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
P Performance Array und Liste Java Basics - Anfänger-Themen 13
M QuickSort und Liste Java Basics - Anfänger-Themen 6
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
B Summe von Property innerhalb einer Liste via Lambda Java Basics - Anfänger-Themen 1
V Collections int Werte in einer Liste sortieren Java Basics - Anfänger-Themen 23
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
V_Fynn03 Beliebiges Element in einer Liste löschen (Java)(Lineare Datenstrukturen) Java Basics - Anfänger-Themen 9
L Baum aus Integer Liste erstellen Java Basics - Anfänger-Themen 0
CptK Koordinate in Liste suchen Java Basics - Anfänger-Themen 20
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
D Doppelt Verkettete Zirkular-Liste Java Basics - Anfänger-Themen 1
L Liste in anderem Thread laden Java Basics - Anfänger-Themen 1
M Array liste Verdrehen Java Basics - Anfänger-Themen 8
A Verkettete Liste Java Basics - Anfänger-Themen 2
J Strings untereinander in einer Liste vergleichen Java Basics - Anfänger-Themen 18
B Liste von Tagen generieren ab einem bestimmten Datum und Endedatum Java Basics - Anfänger-Themen 4
S IndexOutOfBoundsException beim hinzufügen eines Elements zu einer Liste Java Basics - Anfänger-Themen 11
B Liste sortieren? Java Basics - Anfänger-Themen 4
O Anonyme Klasse einer Liste erstellen Java Basics - Anfänger-Themen 7
B SWAP List; Liste neu anordnen Java Basics - Anfänger-Themen 4
B CSS Klassen in eine Liste schreiben Java Basics - Anfänger-Themen 4
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 8
L verkettete Liste Java Basics - Anfänger-Themen 15
scratchy1 doppelt verkettete Liste testen Java Basics - Anfänger-Themen 8
O ADT Liste z. B. Java Basics - Anfänger-Themen 15
B sortierte Liste Java Basics - Anfänger-Themen 4
O Knoten und Liste verarbeitung Java Basics - Anfänger-Themen 20
R Methoden Entferne alle identische Knoten (Typ String) aus verkettete Liste Java Basics - Anfänger-Themen 8
C Methoden Über eine einfach verkettete Liste Java Basics - Anfänger-Themen 8
J Eine Liste von Listen erstellen Java Basics - Anfänger-Themen 11
A Einträge aus Tupeln nach Regeln in Liste speichern Java Basics - Anfänger-Themen 8
Queiser Liste zurückgeben Java Basics - Anfänger-Themen 7
T Collections Geeignete Collection/Liste/Datenbank Java Basics - Anfänger-Themen 17
S spezielle Wörter aus Liste entfernen Java Basics - Anfänger-Themen 2
H Verkettete Liste Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben