Mehrere Linien zeichnen

Karu

Mitglied
Ich versuche mehrere Linien in einem Panel zeichnen zu lassen. Das zeichnen an sich funktioniert auch, mein Problem ist nur, dass die Linien immer nebeneinander dargestellt werden, obwohl sie sich in einem normalen Koordinatensystem überschneiden würden (so will ich es haben).
Ein Beispiel:
Ich habe versucht diese Linien zeichnen zu lassen:
Linie1: P1(1/1) P2(4/9)
Linie2: P1(1/3) P2(16/5)
Linie3: P1(2/9) P2(15/2)
das sollte dann etwa so aussehen:
linien.png
aber es sieht so aus:
realLinien.png

Ich habe 4 Listen zur Speicherung der Koordinaten (werden durch User eingegeben)
Java:
static ArrayList<Float> wertex1= new ArrayList<>();
        static ArrayList<Float> wertey1= new ArrayList<>();
        static ArrayList<Float> wertex2= new ArrayList<>();
        static ArrayList<Float> wertey2= new ArrayList<>();

Auf Button-Klick sollen dann alle Linien gezeichnet werden
Code:
public void actionPerformed (ActionEvent ae){
        if(ae.getSource() == b2){
            for(int i = 0; i < wertex1.size(); i++) {
                int x1 = Math.round(wertex1.get(i));
                int y1 = Math.round(wertey1.get(i));
                int x2 = Math.round(wertex2.get(i));
                int y2 = Math.round(wertey2.get(i));
           
                linie = new MyPanel(x1, y1, x2, y2);
                panel3.add(linie, BorderLayout.CENTER);
                revalidate();
                repaint();
            } 
           
        }
Code:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;

import javax.swing.JPanel;

public class MyPanel extends JPanel{
   
    int x1, y1, x2, y2;

    public MyPanel(int x1, int y1, int x2, int y2){
       
        this.x1 = x1;
        this.x2 = x2;
        this.y1 = y1;
        this.y2 = y2;
    }
    public void paint(Graphics gr){
        super.paintComponents(gr);
        Graphics2D g = (Graphics2D)gr;
        g.setColor(Color.BLACK);
        g.drawLine(x1, y1, x2, y2);
    }

}

Hat jemand vielleicht eine Idee, wie ich es schaffe, dass sie Linien auch übereinander dargestellt werden?
Danke schon mal im voraus.
 

JCODA

Top Contributor
Vermutlich liegen die Panels nebeneinander.
Benutze ein einzelnes Panel, welches eine Liste aller Linien beinhaltet und alle Linien per for-Schleife zeichnet.
 

JCODA

Top Contributor
Code:
// Irgendwo vorher:
MyPanel linePanel = new MyPanel();
panel3.add(linePanel, BorderLayout.CENTER);

public void actionPerformed (ActionEvent ae){
        if(ae.getSource() == b2){
            for(int i = 0; i < wertex1.size(); i++) {
                int x1 = Math.round(wertex1.get(i));
                int y1 = Math.round(wertey1.get(i));
                int x2 = Math.round(wertex2.get(i));
                int y2 = Math.round(wertey2.get(i));
        
                linePanel.addLine(new Line(x1,y1,x2,y2));
                revalidate();
                repaint();
            }
        
        }
Code:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;

import javax.swing.JPanel;

public class MyPanel extends JPanel{
 
    private List<Line> lines = new ArrrayList<Line>();

    public MyPanel(){    
    }
    public void addLine(Line l){
          lines.add(l);
    }

    public void paintComponent(Graphics gr){
        super.paintComponent(gr);
        Graphics2D g = (Graphics2D)gr;
        g.setColor(Color.BLACK);
        for(Line line : lines){
             g.drawLine(line.getX1(),line.getY1(),line.getX2(),line.getY2());
        }
    }

}
Java:
class Line{
     private int x1,y1,x2,y2;
     public Line(int x1,int y1, int x2, int y2){
         this.x1 = x1;
         this.y1 = y1;
         this.x2 = x2;
         this.y2 = y2;
     }
//alle Getter für die Attribute.

}

Benutze am besten keine statischen Listen, das sieht ziemlich unschön aus...
 

Karu

Mitglied
Irgendwie hilft mir das nicht weiter... da kommen nur tausend Fehlermeldungen, wenn ich versuche das in meinen Code zu übernehmen :(
 

JCODA

Top Contributor
Ja, ich hab's gerade ohne IDE gemacht, d.h. da fehlen wohl noch die Importe.
Wenn du den kompletten Code postest, dann kann ich das einfach in meine IDE kopiere und es richtig eingliedern.
 

Karu

Mitglied
Code:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;

public class view extends JFrame implements ActionListener{
   
        JButton b1 = new JButton();
        JButton b2 = new JButton();
        ArrayList<Float> wertex1= new ArrayList<>();
        ArrayList<Float> wertey1= new ArrayList<>();
        ArrayList<Float> wertex2= new ArrayList<>();
        ArrayList<Float> wertey2= new ArrayList<>();
        ImageIcon icon = new ImageIcon ("C:\\Users\\Maus\\Documents\\A3Listen\\src\\achtung.png");
        JLabel feld = new JLabel(icon);
        JTextField tf1 = new JTextField();
        JTextField tf2 = new JTextField();
        JTextField tf3 = new JTextField();
        JTextField tf4 = new JTextField();
        JTextField tf5 = new JTextField();
        int zahl = 0;
        int dreiecke = 0;
        float maxXWert = 0;
        float maxYWert = 0;
        int faktorX = 1;
        int faktorY = 1;
        JPanel panel3 = new JPanel();
        MyPanel linie;

    public view() {
        super("Aufgabe 3");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setSize(550, 621);
        setLocationRelativeTo(null);
        setVisible(true);
        setLayout(null);
       
        JPanel panel1 = new JPanel();
        JPanel panel2 = new JPanel();
       
        b1.addActionListener(this);
        b2.addActionListener(this);

        this.add(panel1);
        this.add(panel2);
        this.add(panel3, BorderLayout.CENTER);

        panel1.setSize(550, 42);
        panel1.setBackground(Color.RED);
        panel2.setBackground(Color.PINK);
        panel2.setBounds(0, 42, 550, 29);
        panel3.setBackground(Color.WHITE);
        panel3.setBounds(0, 71, 550, 550);
        panel1.setLayout(null);
        panel2.setLayout(null);
        panel3.setLayout(new GridLayout(1, 1));
       
        panel1.add(feld);
        panel1.add(tf1);
        panel1.add(tf2);
        panel1.add(tf3);
        panel1.add(tf4);
        panel2.add(tf5);
        panel1.add(b1);
        panel1.add(b2);
       
        feld.setBounds(25, 5, 25, 32);
        tf1.setBounds(55, 11, 50, 20);
        tf1.setText("x1");
        tf2.setBounds(110, 11, 50, 20);
        tf2.setText("y1");
        tf3.setBounds(165, 11, 50, 20);
        tf3.setText("x2");
        tf4.setBounds(220, 11, 50, 20);
        tf4.setText("y2");
        b1.setBounds(280, 11, 100, 20);
        b1.setText("hinzufügen");
        b2.setBounds(390, 11, 100, 20);
        b2.setText("fertig");
        tf1.setHorizontalAlignment(SwingConstants.CENTER);
        tf2.setHorizontalAlignment(SwingConstants.CENTER);
        tf3.setHorizontalAlignment(SwingConstants.CENTER);
        tf4.setHorizontalAlignment(SwingConstants.CENTER);
        tf5.setBounds(0, 0, 550, 29);
        tf5.setHorizontalAlignment(SwingConstants.CENTER);
       
        tf5.setText("Anzahl:");
        tf5.setEditable(false);
        feld.setVisible(false);
    }
    //-------------------------------------------------------------------------------------------------------//

    public void actionPerformed (ActionEvent ae){
        if(ae.getSource() == b1){
            //Überprüfen ob Inhalt Textfelder in umwandelbar sind -> wenn ja: Werte in Listen aufnehmen
            if(!(isNumeric(tf1.getText())==false) && !(isNumeric(tf2.getText())==false) && !(isNumeric(tf3.getText())==false) && !(isNumeric(tf4.getText())==false)) {
                feld.setVisible(false);
                float a,b,c,d;
                a = Float.parseFloat(tf1.getText());
                wertex1.add((float)a);
                b = Float.parseFloat(tf2.getText());
                wertey1.add((float)b);
                c = Float.parseFloat(tf3.getText());
                wertex2.add((float)c);
                d = Float.parseFloat(tf4.getText());
                wertey2.add((float)d);
                tf1.setText("");
                tf2.setText("");
                tf3.setText("");
                tf4.setText("");
                zahl= zahl +1;
                tf5.setText("Anzahl:" + zahl);
            }
            //wenn nicht umwandelbar: lasse ein Ausrufezeichen neben den Eingabefeldern erscheinen
            else {
                feld.setVisible(true);
            }
            }
        if(ae.getSource() == b2){
            //Auswertung
            tf1.setEditable(false);
            tf2.setEditable(false);
            tf3.setEditable(false);
            tf4.setEditable(false);
            b1.setEnabled(false);
           
            dreieckeZaehlen(wertex1, wertey1, wertex2, wertey2);
            if(dreiecke==0) {tf5.setText("Es konnten keine Dreiecke gefunden werden.");}
            else {tf5.setText("Anzahl Dreiecke:" + (dreiecke/6));}
           
            //Anpassen der Zeichenfläche an Werte -> Möglichst große Ansicht
            maxWerteErmitteln(wertex1, wertey1, wertex2, wertey2);
           
            //zeichne alle Linien
            for(int i = 0; i < wertex1.size(); i++) {
                int x1 = Math.round(wertex1.get(i));
                int y1 = Math.round(wertey1.get(i));
                int x2 = Math.round(wertex2.get(i));
                int y2 = Math.round(wertey2.get(i));
           
                linie = new MyPanel(x1, 510-y1, x2*faktorX, 510-y2*faktorY);
                panel3.add(linie);
                revalidate();
                repaint();
            } 
           
        }
    }
   
    public static boolean isNumeric(String value) {
        try {
            float number = Float.parseFloat(value);
            return true;
        }
        catch(NumberFormatException e) {
            return false;
        }
    }

    public void dreieckeZaehlen(ArrayList<Float> wertex1, ArrayList<Float> wertey1, ArrayList<Float> wertex2, ArrayList<Float> wertey2) {
        for(int i = 0; i < wertex1.size(); i++) {
            for(int j = 0; j < wertex1.size(); j++) {
                if(!(j==i)) {
                    if(schneidenSich((wertex1.get(i)),(wertey1.get(i)),(wertex2.get(i)),(wertey2.get(i)),(wertex1.get(j)),(wertey1.get(j)),(wertex2.get(j)),(wertey2.get(j)))==true) {
                        for(int k = 0; k < wertex1.size(); k++) {
                            if(!(k==j) && !(k==i)) {
                                if(schneidenSich((wertex1.get(j)),(wertey1.get(j)),(wertex2.get(j)),(wertey2.get(j)),(wertex1.get(k)),(wertey1.get(k)),(wertex2.get(k)),(wertey2.get(k)))==true && schneidenSich((wertex1.get(k)),(wertey1.get(k)),(wertex2.get(k)),(wertey2.get(k)),(wertex1.get(i)),(wertey1.get(i)),(wertex2.get(i)),(wertey2.get(i)))==true) {
                                    dreiecke = dreiecke + 1;
                                }
                            }
                           
                        }
                    }
                }
               
            }
        }
    }
   
    public boolean schneidenSich(float a,float b,float c,float d, float e, float f, float g, float h) {
        float x;
        float m1, m2, n1, n2;
        m1=((d-b)/(c-a));
        m2=((h-f)/(g-e));
        n1=d-m1*c;
        n2=f-m2*e;
        x=-1*((n1-n2)/(m1-m2));
        if(x>=a && x>=e && x<=c && x<=g) {
            return true;
        }
        else {return false;}
       
    }

    public void maxWerteErmitteln(ArrayList<Float> wertex1, ArrayList<Float> wertey1, ArrayList<Float> wertex2, ArrayList<Float> wertey2) {
        for(int i = 0; i < (wertex1.size()); i++) {
            if(wertex1.get(i)>maxXWert) {maxXWert=wertex1.get(i);}
        }
        for(int i = 0; i < (wertex1.size()); i++) {
            if(wertex2.get(i)>maxXWert) {maxXWert=wertex2.get(i);}
        }
        for(int i = 0; i < (wertex1.size()); i++) {
            if(wertey1.get(i)>maxYWert) {maxYWert=wertey1.get(i);}
        }
        for(int i = 0; i < (wertex1.size()); i++) {
            if(wertey2.get(i)>maxYWert) {maxYWert=wertey2.get(i);}
        }
       
        if(maxXWert>=0 && maxXWert<=50) {faktorX=10;}
            if(maxXWert>50 && maxXWert<=100) {faktorX=5;}
            if(maxXWert>100 && maxXWert<=180) {faktorX=3;}
            if(maxXWert>180 && maxXWert<=270) {faktorX=2;}
            if(maxYWert>=0 && maxYWert<=50) {faktorY=10;}
            if(maxYWert>50 && maxYWert<=100) {faktorY=5;}
            if(maxYWert>100 && maxYWert<=180) {faktorY=3;}
            if(maxYWert>180 && maxYWert<=270) {faktorY=2;}
    }
}

Das ist alles und der Code vom MyPanel steht ja ganz oben schon.
 

JCODA

Top Contributor
Ich hab einiges geändert, so ganz zufrieden bin ich zwar immer noch nicht, allerdings hab' ich jetzt auch nicht mehr allzuviel Lust noch mehr dran zu ändern...
Java:
package lines;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JPanel;

public class MyPanel extends JPanel {

    private final List<Line> lines = new ArrayList<Line>();

   
    float maxXWert = 0;
    float maxYWert = 0;
    int faktorX = 1;
    int faktorY = 1;
   
   
    public MyPanel() {
    }

    public void addLine(Line l) {
        lines.add(l);
        maxWerteErmitteln(l);
        repaint();
    }

   
   
   
    public void paintComponent(Graphics gr) {
        super.paintComponent(gr);
        Graphics2D g = (Graphics2D) gr;
        g.setColor(Color.BLACK);
        for (Line line : lines) {
            g.drawLine(line.getX1()*faktorX, 510-line.getY1()*faktorY, line.getX2()*faktorX, 510-line.getY2()*faktorY);
        }
    }
   
   
    public void maxWerteErmitteln(Line l) {

       
        maxXWert = Math.max(maxXWert, l.getX1());
        maxXWert = Math.max(maxXWert, l.getX2());

        maxYWert = Math.max(maxYWert, l.getY1());
        maxYWert = Math.max(maxYWert, l.getY2());
       
        if (maxXWert >= 0 && maxXWert <= 50) {
            faktorX = 10;
        }
        if (maxXWert > 50 && maxXWert <= 100) {
            faktorX = 5;
        }
        if (maxXWert > 100 && maxXWert <= 180) {
            faktorX = 3;
        }
        if (maxXWert > 180 && maxXWert <= 270) {
            faktorX = 2;
        }
        if (maxYWert >= 0 && maxYWert <= 50) {
            faktorY = 10;
        }
        if (maxYWert > 50 && maxYWert <= 100) {
            faktorY = 5;
        }
        if (maxYWert > 100 && maxYWert <= 180) {
            faktorY = 3;
        }
        if (maxYWert > 180 && maxYWert <= 270) {
            faktorY = 2;
        }
        System.out.print(faktorX  + " " + faktorY);
    }

    public List<Line> getLines() {
        return lines;
    }
   
   

}


Java:
package lines;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;

public class View extends JFrame {

    private JButton b1 = new JButton();
    private JButton b2 = new JButton();
    private MyPanel linePanel = new MyPanel();
    private JLabel feld = new JLabel(new ImageIcon("C:\\Users\\Maus\\Documents\\A3Listen\\src\\achtung.png"));
    private JTextField tf[] = new JTextField[4];
    private JLabel label = new JLabel();   
   

    public View() {
        super("Aufgabe 3");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setSize(550, 621);
        setLocationRelativeTo(null);
        setVisible(true);
        setLayout(null);

        JPanel panel1 = new JPanel();
        JPanel panel2 = new JPanel();

        b1.addActionListener(ae -> clickAdd(ae));
        b2.addActionListener(ae -> clickCalc(ae));

        this.add(panel1);
        this.add(panel2);
        this.add(linePanel, BorderLayout.CENTER);

        panel1.setSize(550, 42);
        panel1.setBackground(Color.RED);
        panel2.setBackground(Color.PINK);
        panel2.setBounds(0, 42, 550, 29);
        linePanel.setBackground(Color.WHITE);
        linePanel.setBounds(0, 71, 550, 550);
        panel1.setLayout(null);
        panel2.setLayout(null);
        linePanel.setLayout(new GridLayout(1, 1));

        panel1.add(feld);

        String tf_content[] = { "x1", "y1", "x2", "y2" };

        for (int i = 0; i < tf.length; i++) {
            tf[i] = new JTextField(tf_content[i]);
            tf[i].setBounds(55 * (i + 1), 11, 50, 20);
            tf[i].setHorizontalAlignment(SwingConstants.CENTER);
            panel1.add(tf[i]);
        }

        panel2.add(label);
        panel1.add(b1);
        panel1.add(b2);

        feld.setBounds(25, 5, 25, 32);
        b1.setBounds(280, 11, 100, 20);
        b1.setText("hinzufügen");
        b2.setBounds(390, 11, 100, 20);
        b2.setText("fertig");
        label.setBounds(0, 0, 550, 29);
        label.setHorizontalAlignment(SwingConstants.CENTER);

        label.setText("Anzahl:");
        feld.setVisible(false);
    }
    // -------------------------------------------------------------------------------------------------------//

    private void clickCalc(ActionEvent ae) {
        for (JTextField jtf : tf) {
            jtf.setEditable(false);
        }
        b1.setEnabled(false);

        int dreiecke = dreieckeZaehlen();
        if (dreiecke == 0) {
            label.setText("Es konnten keine Dreiecke gefunden werden.");
        } else {
            label.setText("Anzahl Dreiecke:" + (dreiecke / 6));
        }

    }

    private void clickAdd(ActionEvent ae) {

        try {
            feld.setVisible(false);
            float a = Float.parseFloat(tf[0].getText());
            float b = Float.parseFloat(tf[1].getText());
            float c = Float.parseFloat(tf[2].getText());
            float d = Float.parseFloat(tf[3].getText());
            linePanel.addLine(new Line(a, b, c, d));
            for (JTextField jtf : tf) {
                jtf.setText("");
            }

            label.setText("Anzahl:" + linePanel.getLines().size());
           
        } catch (NumberFormatException e) {
            feld.setVisible(true);
        }
        repaint();

    }

    public int dreieckeZaehlen() {

        int dreiecke = 0;
        for (Line line1 : linePanel.getLines()) {
            for (Line line2 : linePanel.getLines()) {
                if (line1.equals(line2)) {
                    continue;
                }
                if (line1.schneidenSich(line2)) {
                    for (Line line3 : linePanel.getLines()) {
                        if (line1.equals(line3) || line2.equals(line3)) {
                            continue;
                        }
                        if (line2.schneidenSich(line3) && line1.schneidenSich(line3)) {
                            dreiecke++;
                        }
                    }
                }
            }
        }

        return dreiecke;
    }

   
}

Java:
package lines;

public class Line {
    private int x1, y1, x2, y2;

    public Line(int x1, int y1, int x2, int y2) {
        this.x1 = x1;
        this.y1 = y1;
        this.x2 = x2;
        this.y2 = y2;
    }

    public Line(float a, float b, float c, float d) {
        this(Math.round(a),Math.round(b),Math.round(c),Math.round(d));
    }

    public int getX1() {
        return x1;
    }

    public int getY1() {
        return y1;
    }

    public int getX2() {
        return x2;
    }

    public int getY2() {
        return y2;
    }

    public boolean schneidenSich(Line other) {
        float a=x1,b=y1,c=x2,d=y2;
        float e=other.x1,f=other.y1,g=other.x2,h=other.y2;
        float m1 = ((d - b) / (c - a));
        float m2 = ((h - f) / (g - e));
        float n1 = d - m1 * c;
        float n2 = f - m2 * e;
        float x = -1 * ((n1 - n2) / (m1 - m2));
        return x >= a && x >= e && x <= c && x <= g;

    }
   
   
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + x1;
        result = prime * result + x2;
        result = prime * result + y1;
        result = prime * result + y2;
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Line other = (Line) obj;
        if (x1 != other.x1)
            return false;
        if (x2 != other.x2)
            return false;
        if (y1 != other.y1)
            return false;
        if (y2 != other.y2)
            return false;
        return true;
    }

}


Java:
package lines;

public class RunApp {

    public static void main(String[] args) {
        new View().setVisible(true);

    }

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M 2D-Grafik Mehrere Linien (nacheinander) übereinander Zeichnen AWT, Swing, JavaFX & SWT 6
T Swing Mehrere Ausgaben in JTextArea AWT, Swing, JavaFX & SWT 2
H Mehrere Panels auf JFrame AWT, Swing, JavaFX & SWT 8
S Mehrere Tabellen Zellen gleichzeitig färben AWT, Swing, JavaFX & SWT 5
Apfelbaum2005 Swing JFrame mehrere JPanels mit unterschiedlichen Formen hinzufügen AWT, Swing, JavaFX & SWT 1
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
I Scene Builder - mehrere Seiten AWT, Swing, JavaFX & SWT 6
P Swing Mehrere JLabels mit ImageIcon in JPanel lesen AWT, Swing, JavaFX & SWT 1
schoel27 Mehrere JButtons sollen das gleiche Event auslösen AWT, Swing, JavaFX & SWT 2
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
M mehrere jTextField untereinander AWT, Swing, JavaFX & SWT 1
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
B Swing Sudoku: Laden / Speichern von Zahlen aus/in mehrere JTextFields aus/in eine(r) Textdatei AWT, Swing, JavaFX & SWT 9
M JavaFX JavaFX in mehrere Controller AWT, Swing, JavaFX & SWT 21
R mehrere buttons mit forschleife kreieren und individuell bearbeiten AWT, Swing, JavaFX & SWT 1
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
temi JavaFX Mehrere Views mit Stage.setScene() oder mit Scene.setRoot()? AWT, Swing, JavaFX & SWT 7
P Swing Mehrere JPanels auf ein JFrame hinzufügen? AWT, Swing, JavaFX & SWT 2
T Swing Tetraeder - mehrere Punkte verbinden? - Ansätze gesucht AWT, Swing, JavaFX & SWT 2
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 29
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 0
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
J JavaFX - mehrere Views, Model durchreichen AWT, Swing, JavaFX & SWT 10
it_is_all Swing Mehrere JComboBoxen - wie die versch. Boxen mit ItemStateChange auslesen? AWT, Swing, JavaFX & SWT 3
M Swing Mehrere Textfelder mit ScrollBars - Größe der Felder AWT, Swing, JavaFX & SWT 0
W JavaFX Mehrere Klassen in ein TableView AWT, Swing, JavaFX & SWT 6
F AWT mehrere Panels in einem Frame AWT, Swing, JavaFX & SWT 17
L JavaFX Mehrere JavaFX Szenen mit einem Menü AWT, Swing, JavaFX & SWT 1
D Java FXML mehrere Fenster AWT, Swing, JavaFX & SWT 4
F JavaFX Mehrere Stages "managen" AWT, Swing, JavaFX & SWT 2
r4w Changelistener auf mehrere Textfelder AWT, Swing, JavaFX & SWT 5
H Swing + Paint: Mehrere Objekte zeichnen lassen AWT, Swing, JavaFX & SWT 3
S Swing Mehrere Modal-Dialoge übereinander AWT, Swing, JavaFX & SWT 5
T 2D-Grafik JFreeChart mehrere Y-Achsen AWT, Swing, JavaFX & SWT 2
C JavaFX mehrere Kreise nach Eingabeprozess ausgeben AWT, Swing, JavaFX & SWT 2
Thallius Swing Mehrere tausend "Panels" erstellen AWT, Swing, JavaFX & SWT 3
C Java FX Warnmeldung: Mehrere Fonts gehören derselben Familie und Stil AWT, Swing, JavaFX & SWT 2
J Mehrere JInternalFrame; GetValues AWT, Swing, JavaFX & SWT 1
JG12111989 mehrere Polyline-Objekte zeichnen AWT, Swing, JavaFX & SWT 3
LexeB4F JTable mehrere Zelle selektieren und inhalte Löschen.. Ideen gesucht AWT, Swing, JavaFX & SWT 1
V Tastatur KeyListener für mehrere Buttons AWT, Swing, JavaFX & SWT 1
K JavaFX Mehrere Cell Editors in einem TreeView Item AWT, Swing, JavaFX & SWT 2
KaffeeFan mehrere JTextField durchlaufen AWT, Swing, JavaFX & SWT 4
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
T Dynamisch mehrere Checkboxen anlegen AWT, Swing, JavaFX & SWT 2
G JavaFX Menü und mehrere Scenes AWT, Swing, JavaFX & SWT 16
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
D Mehrere RadiButtons auswählar AWT, Swing, JavaFX & SWT 3
P Swing JTable mehrere Zeilen markieren AWT, Swing, JavaFX & SWT 1
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
T JavaFX FXMLController für mehrere FXML? AWT, Swing, JavaFX & SWT 7
G mehrere Action-Abfolgen erfassen AWT, Swing, JavaFX & SWT 6
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
X Swing JPanel mehrere Ebenen zeichnen AWT, Swing, JavaFX & SWT 13
J Mehrere Hyperlinks "stilvoll" darstellen. AWT, Swing, JavaFX & SWT 1
G Mehrere Strings um Kreis zeichnen und positionieren AWT, Swing, JavaFX & SWT 0
S JavaFX Mehrere TreeTableView's synchron scrollen AWT, Swing, JavaFX & SWT 0
U Mehrere Oberflächeninstanzen seperat schließen AWT, Swing, JavaFX & SWT 5
J Rahmen um mehrere GUI Einzelteile AWT, Swing, JavaFX & SWT 2
S Layouts, mehrere Buttons nebeneinander AWT, Swing, JavaFX & SWT 2
M Mehrere Fenster innerhalb einer Application AWT, Swing, JavaFX & SWT 3
T Über mehrere Panel zeichnen AWT, Swing, JavaFX & SWT 2
M ActionListener für mehrere Klassen AWT, Swing, JavaFX & SWT 4
T [LWJGL] mehrere Displays? AWT, Swing, JavaFX & SWT 19
SexyPenny90 Mehrere Fenster AWT, Swing, JavaFX & SWT 2
M Handling 1 Fenster mehrere Panels AWT, Swing, JavaFX & SWT 2
Y Mehrere JSlider verlinken AWT, Swing, JavaFX & SWT 6
Java-Insel LayoutManager Ein GridBagLayout-Objekt für mehrere Panels? AWT, Swing, JavaFX & SWT 2
O Swing JLabel mehrere Zeilen AWT, Swing, JavaFX & SWT 2
P mehrere Rectangles per JButton AWT, Swing, JavaFX & SWT 9
B JToolBar dynamisch auf mehrere Zeilen erweitern AWT, Swing, JavaFX & SWT 2
Jats Zeichen auf mehrere JPanels AWT, Swing, JavaFX & SWT 7
G Mehrere Probleme mit Java's GUI AWT, Swing, JavaFX & SWT 6
G Mehrere Layoutprobleme AWT, Swing, JavaFX & SWT 2
Kenan89 JTable mehrere ListSelections AWT, Swing, JavaFX & SWT 2
M TextArea über mehrere Zeilen - wie Zeileanzahl abfragen? AWT, Swing, JavaFX & SWT 5
J Swing JDialog blokiert mehrere JFrames - soll aber nur den aufrufenden blockieren AWT, Swing, JavaFX & SWT 4
A mehrere Zeilen in GUi ausgeben AWT, Swing, JavaFX & SWT 2
N Mehrere Tasks nacheinander ausführen AWT, Swing, JavaFX & SWT 7
C SWT Mehrere Bilder in GUI laden AWT, Swing, JavaFX & SWT 5
propra Mehrere Objekte gleichzeitig verschieben AWT, Swing, JavaFX & SWT 7
M Mehrere JPanel nacheinander?! AWT, Swing, JavaFX & SWT 11
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
K SWT Mehrere Einträge ins Clipboard legen AWT, Swing, JavaFX & SWT 2
C Swing Ein JFrame mehrere Ansichten AWT, Swing, JavaFX & SWT 8
C Swing Mehrere JSlider sollen aufeinander reagieren AWT, Swing, JavaFX & SWT 4
GUI-Programmer JFilechooser, mehrere Datein selektieren und Reihenfolge (2) AWT, Swing, JavaFX & SWT 8
S Mehrere JLists - Wie kennzeichnen? AWT, Swing, JavaFX & SWT 2
S Swing MVC Ein JFrame, mehrere JPanels AWT, Swing, JavaFX & SWT 6
J Mehrere JRadioButtons, aber nur 1 darf ausgewählt sein AWT, Swing, JavaFX & SWT 4
L Swing Mehrere Button die selbe Größe AWT, Swing, JavaFX & SWT 4
B AWT mehrere Fenster schließen AWT, Swing, JavaFX & SWT 8
I Wie mehrere JComboBoxen in Abhängigkeit einer anderen Box ändern? AWT, Swing, JavaFX & SWT 8
G mehrere JPanel in ein (vertikales) JScrollPane AWT, Swing, JavaFX & SWT 8
F Swing Mehrere Textfelder in Scrollpane einfügen und dann zum Scrollen bringen? AWT, Swing, JavaFX & SWT 4
GianaSisters Swing jTable - Feldtext soll mehrere Zeilen haben AWT, Swing, JavaFX & SWT 3
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4
D Mehrere JTabel in einem Frame positionieren AWT, Swing, JavaFX & SWT 5
N mehrere JComboBoxes AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen

Neue Themen


Oben