Wie kann ich in Java ein JLabel vor ein anderes stellen?

2 Antworten

Ich hoffe ich darf mich auch kurz zu Wort melden.

Ich hab die Frage ein wenig verfolgt. - Hier ist konzeptionell etwas leicht schief gegangen. 

Sofern ich ein paar Tipps geben darf:

Erstmal allgemein:

  • Die serialVersionUID brauchst du eigentlich nur, wenn die Klasse als Serializable gekennzeichnet ist, was du auch nur dann brauchst, wenn du die Klasse entweder in eine Datei schreiben willst, oder per Stream übermitteln möchtest.
  • Genauso wie man Klassennamen groß schreibt, so schreibt man die variablen klein, das erleichtert einem den Überblick, über Instanz und Klasse.
  • Eine Methode main zu nennen, obwohl es nicht die Ausführende Methode ist, sorgt ebenfalls für Unübersichtlichkeit und Verwirrung

(Sorry, musste das gesagt haben, denn so fällt mir und vielen anderen auch die Nachvollziehbarkeit deines Codes doch schwerer als es sein sollte)

Zu deinem Problem was ich aus dem anderen Kommentar entnahm:

  • Du fügst in der Methode: "Bei Tick" eine extrem hohe anzahl an Labels an. müssen es so viele Labels sein? Oder wäre es dir auch möglich, das Label an der bestimmten Position einfach zu färben?

Hey,

was genau ist jetzt das Problem ? Das die Farbe nicht geändert wird oder das sie nicht übereinander sind ? Kannst du evtl. noch einen Screenshot hochladen ?

Lg,

Benny

also wenn ich den Code, so wie er da steht, ausführe sehe ich nur eine grüne Fläche (das Rechteck). Die erstellten JLabels mit namen Zelle werden allerding von diesem großen, grünen Rechteck überdeckt. Das will ich nicht. Ich will, das die Zelle-Labels über dem grünen Rechteck zusehen sind.

0
@BenStudio

Versuch das Rechteck nach jedem Tick auch neuzuzeichnen bzw. gibt es einen Tiefen-Index den kann man irgendwie ändern weiß grad nicht wie. Das zuerst gezeichnete hat glaub ich irgendwie immer den höchsten oder den niedrigsten versuch mal abwechselnd erst zelle dann rechteck und andersrum zu malen.

1
@Bentipa

Ich habe jetzt den kompletten Code-Abschnitt mit dem Rechteck. in die neueZelle Methode ans Ende gepackt und jetzt geht es, kommt mir aber erxtrem rechenaufwändig vor. Gibst da vielleicht doch noch was einfacheres?

0

Java bestimmte Zeile aus einem URL lesen und int variable daraus machen?

Ich habe es schon geschafft den URL zu lesen,aber ich will nur eine bestimmte Zeile speichern wo eine Zahl drin steht, die ich als Integer speichern will.Wie geht das?schonnmal danke;)

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.MalformedURLException;

import java.net.URL;

public class Browser extends Thread {

public void Run() throws IOException{

}

public static void main(String [] args) throws IOException {

URL url;url = new URL("http://kurse.boerse.ard.de/ard/kurse_einzelkurs_uebersicht.htn?i=96056");

InputStream in = url.openStream();

BufferedReader reader = new BufferedReader(new InputStreamReader(in));

String s = null;

while((s = reader.readLine()) != null)

{System.out.println(s);}

}

}

...zur Frage

Wie kann man In JFrame per Klick eine Eingabe in neu erstelltem Label auf GUI anzeigen?

Hallo, in meinem Java GUI Projekt sieht es momentan so aus:


import javax.swing.*;

import java.awt.*;

import java.awt.event.*;


public class Fenster extends JFrame

{

 public static void main(String[] args)

 {

   

   new Fenster();

 }

 String a = new String("Hello World");

 public Fenster()

 {

   super("BlitzAusgeber");

   setDefaultCloseOperation(EXIT_ON_CLOSE);

   getContentPane().setLayout(new FlowLayout());

 

 JLabel label = new JLabel(" Gib etwas ein und du siehst es in der cmd ");

   getContentPane().add(label);

  

   JTextField textField = new JTextField("                                         ");

     getContentPane().add(textField);


   JButton button = new JButton("Say Hello World");

   getContentPane().add(button);

 

 

   button.addActionListener(new MyListener(textField, label));

   setLocation(500, 500);

   setSize(300, 105);

   setVisible(true);

 }

}

class MyListener implements ActionListener

{

 private JTextField textField;

 private JLabel label;

 public MyListener(JTextField tf, JLabel l)

 {

   

   textField = tf;

   label = l;

 }

 public void actionPerformed(ActionEvent ae)

 {

   

   String text = textField.getText();


  System.out.println(text);

  

   try

   {

    

     

    

   }

   catch(NumberFormatException ex)

   {

       

   }


 }

}

 

 Wenn ich jetzt etwas eingebe, wird die Antwort in der cmd eingeblendet. Wie geht es, das bei klcik eine neue JLabel erstellt wird und sie mit dem eingegeben Inhalt angezeigt wird?

 

...zur Frage

Variable von einer Klasse in eine andere Übergeben?

Hallo zusammen,

ich programmiere gerade in Java und habe ein kleines Problem.

ich habe 3 neue Klassen erzeugt. Nur die erste Klasse besitzt eine main-Methode. Nun wollte ich die in der main Methode erzeuge Zufallszahl an die dritte Klasse übergeben um dort etwas damit zu machen.

Leider weiß ich nicht wie das geht.

Anbei der Sourcecode:

Hier die Klasse mit der Main-Methode:

package Klassen;

import java.awt.Graphics;
import javax.swing.JPanel;

public class HauptFenster {

    
    public static void main(String[] args) {
        
        Fenster fenster = new Fenster();
        Rechteck panel = new Rechteck();
        
        fenster.add(panel);
        
        while(true){
        
            int high = (int)(Math.random()*200);
            int width = (int)(Math.random()*150);
            
        }
    }
}

Hier die Klasse 3:

package Klassen;

import java.awt.Graphics;
import javax.swing.JPanel;

public class Rechteck extends JPanel {
    
public int zufall;
    
    public Rechteck(){
        
        this.setSize(500, 500);
    }

    public void paint (Graphics g){
        g.fillRect(120, 100, 100, 130);
    }
}

Die Beispiel soll nur zur Übung dienen.

MfG

...zur Frage

Wie kann ich den Text anzeigen lassen. Java, BlueJ,...?

mport java.awt.; import javax.swing.; import java.awt.event.*; public class Spielautomat extends JFrame implements ActionListener { JFrame fenster; JPanel panel1; JButton start; JTextField f1; JLabel l1; JLabel l2; RECHTECK rolle1, rolle2, rolle3; KREIS kreis1, kreis2, kreis3;

int zufallszahl;
int zufallszahl2;
int zufallszahl3;
public Spielautomat()
{
   //Es wird ein Fenster mit Hilfe eines JFrames und eines JPanels erzeugt
   fenster = new JFrame("SpielautomatTCL v1.0 ");
   fenster.setSize(400,200);
   fenster.setVisible(true);
   fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   
   panel1 = new JPanel();
   panel1.setVisible(true);
   fenster.add(panel1);
   
   //Es wird ein Button erzeugt mit Aufschrift "Neues Spiel"),
   start = new JButton("Neues Spiel");
   start.setVerticalAlignment(JButton.TOP);
   start.setVisible(true);
   start.addActionListener(this);
   panel1.add(start);
   
   //Es wird ein TextFeld erzeugt, dass als Ausgabe verwendet wird,
   f1 = new JTextField();
   f1.setBounds(10,70,220,40);
   f1.setVisible(true);
   panel1.add(f1);
   
   //Die beiden JLabel werden als kleines Impressum verwendet.
   l1 = new JLabel("Dieser Automat wurde programmiert von",JLabel.CENTER);
   l1.setVerticalAlignment(JLabel.BOTTOM);
   l1.setVerticalTextPosition(JLabel.BOTTOM);
   l1.setVisible(true);
   panel1.add(l1);
   
   l2 = new JLabel("Tim Eichinger, Carina Stoiber und Leo Welsch",JLabel.CENTER);
   l2.setVerticalAlignment(JLabel.BOTTOM);
   l2.setVisible(true);
   panel1.add(l2);
   
   rolle1 = new RECHTECK();
   rolle1.FarbeSetzen("schwarz");
   rolle1.GroesseSetzen(100, 100);
   rolle1.PositionSetzen(30, 50);
   
   kreis1 = new KREIS();
   kreis1.RadiusSetzen(30);
   kreis1.FarbeSetzen("weiss");
   kreis1.MittelpunktSetzen(80,100);
   
   rolle2 = new RECHTECK();
   rolle2.FarbeSetzen("schwarz");
   rolle2.GroesseSetzen(100, 100);
   rolle2.PositionSetzen(150, 50);
   
   kreis2 = new KREIS();
   kreis2.RadiusSetzen(30);
   kreis2.FarbeSetzen("weiss");
   kreis2.MittelpunktSetzen(200,100);
   
   rolle3 = new RECHTECK();
   rolle3.FarbeSetzen("schwarz");
   rolle3.GroesseSetzen(100, 100);
   rolle3.PositionSetzen(270, 50);
   
   kreis3 = new KREIS();
   kreis3.RadiusSetzen(30);
   kreis3.FarbeSetzen("weiss");
   kreis3.MittelpunktSetzen(320,100);
   
  
  
}

public void spielen()
{
    zufallszahl = (int) ((Math.random()*3));
    if(zufallszahl == 0)
    {
        kreis1.FarbeSetzen("rot");
    }
    
    if(zufallszahl == 1)
    {
        kreis1.FarbeSetzen("gelb");
    }
    
    if(zufallszahl == 2)
    {
        kreis1.F
...zur Frage

Wie kann ich bei Java ein Bild als JLabel einfügen?

Mein aktueller Stand:

public class Fenster1 {
  public static void main(String[] args) {
    JFrame fenster = new JFrame();
    setupContent(fenster);

    fenster.setSize(500, 500);
    fenster.setMinimumSize(new Dimension(100, 100));
    fenster.setVisible(true);
    fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }

  private static void setupContent(JFrame fenster) {
    JPanel content = new JPanel();
    JLabel Bild = new JLabel("hier soll das Bild hinkommen");
    content.add(Bild);
    fenster.setContentPane(content);
  }
}

PS.: Das Bild ist auf dem Desktop unter Bilder als smyley.jpg gespeichert.

...zur Frage

Import bei "Throw new RuntimeException"?

public class RuntimeException {

public static void main(String[] args) {

int n = 5;

if (n==5) {

throw new RuntimeException();

}

else {

System.out.println("richtig");

...zur Frage

Was möchtest Du wissen?