Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Halli Hallo,

ich habe mir ein kleines Programm mit eine JFrame, mehren Textfeldern,Buttons und Checkboxen geschrieben. Auf dem Button hängt nen Actionlistener und wenn dieser gedrückt wird, soll er mir die eingegeben Werte der Textfeldern & Checkboxen in einer anderen Klasse ausgeben. 

Siehe hier:

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class mycontroller implements ActionListener  {
  
  private Frame frame;
 
  public void startgui(){
    Frame frame = new Frame(this);
    frame.setVisible(true);
    
  }
  
  public void actionPerformed (ActionEvent e){
    String command = e.getActionCommand();
    
    if (command.equals("Datei einlesen"))
    {
      //ausgabe tf1
      //ausgabe tf2
      //ausgabe tf3
      //ausgabe cb1
      //ausgabe cb2
    } 
    else if (command.equals("Abbruch"))
    {
      System.out.println("Abbruch");
      
    } 
  }
}

Leider bekomme ich es ums verrecken nicht hin. Hat da jemand ne Idee?

Hier noch meine 2 anderen Klassen

import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.*;

public class Frame extends JFrame {
  
  public Frame(ActionListener listener){
    //fenstereigenschaften
    
    setTitle("MonTech HD3000  Shore / Dichte");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(300,300); 
    setLayout(null);
    setResizable(false);                                 
    setLocationRelativeTo(null);
    
    
    //panel
    
    JPanel p1 = new JPanel(); 
    JPanel p2 = new JPanel();
    JPanel p3 = new JPanel();
    JPanel p4 = new JPanel();
    JPanel p5 = new JPanel();
    JPanel p6 = new JPanel();
    
    
    //fensterinhalt
    
    JLabel titlelabel = new JLabel("XXXXXXXXXXXXXXXXXXXXXXXXXX");
    
    JLabel l1 = new JLabel("XXXXXXXXXXX");
    JTextField tf1 = new JTextField(6); 
    p1.add(l1);
    p1.add(tf1);
    
    
    JLabel l5 = new JLabel("-");
    JTextField tf2 = new JTextField(3); 
    p2.add(l5);
    p2.add(tf2);
    
    
    JLabel l2 = new JLabel("xxxxxxxxxx");
    JTextField tf3 = new JTextField(2); 
    p3.add(l2); 
    p3.add(tf3);
    
    JLabel l3 = new JLabel("XXXXX");
    JCheckBox cb1 = new JCheckBox();
    p4.add(l3);
    p4.add(cb1);
    
    JLabel l4 = new JLabel("XXXXX");
    JCheckBox cb2 = new JCheckBox();
    p5.add(l4);
    p5.add(cb2);
    
    
    
    //Buttons
    
    JPanel buttonpanel = new JPanel ();
    JButton okbutton = new JButton ("Datei einlesen");
    JButton closebutton = new JButton ("Abbruch");
    buttonpanel.add(okbutton);
    buttonpanel.add(closebutton);
    
    // layout  
    
    titlelabel.setBounds(50,0,200,50);
    p1.setBounds(0,50,165,40);
    p2.setBounds(152,50,70,40);
    p3.setBounds(-26,90,185,40);
    p4.setBounds(25,130,100,40);
    p5.setBounds(26,170,100,40);
    buttonpanel.setBounds(0,225,300,200);
    
    
    add(titlelabel);
    add(buttonpanel);
    add(p1);
    add(p2);
    add(p3);
    add(p4);
    add(p5);
    
    // listener
    
    
    okbutton.addActionListener(listener);
    closebutton.addActionListener(listener);
    
    String tag = tf1.getText();
    String auf = tf2.getText();
    String misch = tf3.getText();
    boolean di = cb1.isSelected();
    boolean sh = cb2.isSelected();
  }
}
public class launcher{
  public static void main (String[] args) {
    mycontroller c = new mycontroller();
    c.startgui();  
    }
  }

 

Danke im Voraus :)

Die verschiedenen UI-Klassen sollte höchstens etwas voneinander wissen, wenn ineinander verschachtelt sind.
Für einen Datenaustausch sollte man Datenklassen, Nachrichten oder sonst was nehmen. Wenn du so anfängst, dann macht ggf. jede Anpassung an einem Fenster die halbe Anwendung kaputt.

  • 2 Monate später...
Am 24.6.2016 um 08:46 schrieb etreu:

Die verschiedenen UI-Klassen sollte höchstens etwas voneinander wissen, wenn ineinander verschachtelt sind.
Für einen Datenaustausch sollte man Datenklassen, Nachrichten oder sonst was nehmen. Wenn du so anfängst, dann macht ggf. jede Anpassung an einem Fenster die halbe Anwendung kaputt.

Exakt!

Außerdem gibt es doch anscheinend schon eine Klasse Controller (mycontroller). Benutze die um zwischen den einzelnen Views zu kommunizieren.

Bearbeitet von Gottlike

Am 24.6.2016 um 08:46 schrieb etreu:

Die verschiedenen UI-Klassen sollte höchstens etwas voneinander wissen, wenn ineinander verschachtelt sind.
Für einen Datenaustausch sollte man Datenklassen, Nachrichten oder sonst was nehmen. Wenn du so anfängst, dann macht ggf. jede Anpassung an einem Fenster die halbe Anwendung kaputt.

Selbst dann nicht mal wirklich. Sie sollten über Interfaces kommunizieren.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.