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.

class Datei

Empfohlene Antworten

Veröffentlicht

Wie kann ich folgende Datei an eine end Button hängen?

/* Ende.java */

import java.io.*;

import java.util.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Ende extends JFrame

{

private File file;

private JButton abbrechen;

private JButton ja;

private JButton nein;

private JLabel programm;

private JLabel speichern;

public Ende()

{

super("Programm beeneden");

/** Erstellen einer schließ Funktion */

addWindowListener(new WindowClosingAdapter(true));

Container cp = getContentPane();

cp.setLayout(new BorderLayout());

JPanel panel = new JPanel();

JPanel panel1 = new JPanel();

JPanel panel2 = new JPanel();

nein = new JButton("Nein");

nein.addActionListener(new CEnde());

ja = new JButton("Ja");

ja.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

saveFile1();

}

});

abbrechen = new JButton("Abbrechen");

programm = new JLabel("Wollen Sie das Programm wirklich beenden?");

speichern = new JLabel("Aktuelle Änderungen speichern?");

panel1.add(ja);

panel1.add(nein);

panel1.add(abbrechen);

getContentPane().add(panel1, BorderLayout.SOUTH);

panel2.add(programm);

getContentPane().add(panel2, BorderLayout.NORTH);

panel.add(speichern);

getContentPane().add(panel, BorderLayout.CENTER);

}

/** Button "Speichern unter" JFileChooser */

private void saveFile1()

{

JFileChooser jfc = new JFileChooser();

jfc.setCurrentDirectory(new File("c:/java"));

int result = jfc.showSaveDialog(this);

if (result == JFileChooser.APPROVE_OPTION)

{

File f = jfc.getSelectedFile();

writeFile1(f);

}

}

/** Button "Speichern unter" Writer */

private void writeFile1(File f)

{

String line;

PrintWriter pw;

System.out.println();

try

{

pw = new PrintWriter(new FileWriter(f));

pw.println();

pw.close();

}

catch(IOException ioe)

{

System.out.println("Probleme beim Lesen");

}

}

/** Main-Function */

public static void main(String[] args)

{

/** Windows-Ansicht anstatt der Swing-Ansicht */

try

{

UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

}

catch (Exception e)

{

System.err.println("Die ansicht kann nicht geändert werden: " + e);

}

/** Fenster erzeugen, Größe, sichtbar */

Ende frame = new Ende();

frame.setLocation(150, 150);

frame.setSize(300, 110);

frame.setVisible(true);

}

}

Super, 120 Zeilen Code, für etwas was man mit 6 Zeilen erledigen kann. Wieso schaust du dir die Ratschläge in deinem anderen Thread nicht an.

JOptionPane op = new JOptionPane("Wirklich beendet?", JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION);
JDialog dialog = op.createDialog(this.getParent(), "Programm beenden..." );
dialog.show();
if(((Integer)op.getValue()).intValue()==JOptionPane.YES_OPTION{
System.exit(-1);
}[/PHP]

Das ganze muss nun in den Actionlistener deines Buttons:

[PHP]jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
//Genau hier hin...
}
});

Gruß Jaraz

der bringt aber eine Fehlermeldung bei der getParent() methode

Da muss halt der Container deines Buttons rein.

Du kannst z.B. this.getParent() durch SwingUtilities.windowForComponent(mein_Button) ersetzen.

Der Button muss dann aber als Klassenvariable deklariert sein.

Gruß Jaraz

Danke, jetzt geht es.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

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.