Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Run File und CLose Windows Aktion benötigt -> Erledigt!

Frage Entwicklung Java

Mitglied: Techpriest

Techpriest (Level 1) - Jetzt verbinden

20.12.2006, aktualisiert 02.01.2007, 3968 Aufrufe, 4 Kommentare

Hallo zusammen,

ich bin Java Neuling und gerade dabei ein GUI in JAVA für unsere DAUs zu schreiben.

Ich plane eine einfache Batch-Routine für verschiedene Prozesse, die nach einem Button Klick ausgelöst wird. Es soll nur diesen Button geben, der eine Batch-Datei startet und das Fenster dann schliesst, damit die auch ja nicht drum rum kommen, das zu machen.

Mein Problem, ich weiss nicht wie das geht und wurde auch nach tagelangem Suchen nicht fündig.

Hier mal mein bisheriger Entwurf:

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

public class batchRoutine extends JFrame
{Dialogues
private JLabel lbDialog1;
private JLabel lbDialog2;
private JLabel lbDialog3;
private JButton btOk;
constructor
public batchRoutine()
{Initialise window
super("Start Batch Routine");

Window Size
int wWidth, wHeight, bWidth, bHeight, btX, btY;
wWidth=500;
wHeight=150;
bWidth=wWidth/4;
bHeight=bWidth/5;
btX=wWidth/2-bWidth/2;
btY=wHeight-bHeight-wHeight/4;
setLocation(sWidth()/2-(wWidth/2),sHeight()/2-(wHeight/2));
setSize(wWidth,wHeight);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cp=getContentPane();
cp.setLayout(null);

instance Dialogues
lbDialog1=new JLabel("Text1",JLabel.CENTER);
lbDialog1.setBounds(10,10,480,20);
cp.add(lbDialog1);
lbDialog2=new JLabel("Text2",JLabel.CENTER);
lbDialog2.setBounds(10,30,480,20);
cp.add(lbDialog2);
lbDialog3=new JLabel("TExt3",JLabel.CENTER);
lbDialog3.setBounds(10,50,480,20);
cp.add(lbDialog3);
btOk=new JButton("Continue...");
btOk.setBounds(btX,btY,bWidth,bHeight);
cp.add(btOk);

add listener
addWindowListener
(
new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);}
});

window visible
setVisible(true);}

get screensize
private int sWidth()
{return Toolkit.getDefaultToolkit().getScreenSize().width;}
private int sHeight()
{return Toolkit.getDefaultToolkit().getScreenSize().height;}

//main methode
public static void main(String[] args)
{new batchRoutine();}}

Das bewirkt, dass zwar das Fenster angezeigt wird, der Button macht aber noch nichts, da mir der richtige Event bzw. Listener fehlt. Dann fehlt mir auch noch der entsprechende Aufruf für den Start (!) einer Batch-Datei, damit diese ausgeführt wird.

Außerdem gibt es noch das hässliche Windows-"x" zum schliessen des Fensters, kann man das noch deaktivieren?

Weiteres Problem, nach dem compilieren kann ich das Ding nicht mir java oder javaw starten. Ich bekomme die Fehlermeldung: "Could not find Main class". Sollte aber eigentlich alles da sein?!?

Danke schon mal für eure Hilfe

Mit freundlichen Grüßen,
Techpriest

PS: Ich benutze den JCreator von Xinox Version 3.50 und bitte keine Kommentare "Nimm besser den...", ich komme damit recht gut zurecht.
Mitglied: AndreasHoster
20.12.2006 um 16:38 Uhr
Also, der Actionlistener mit entsprechender Funktion sieht so aus:

btOK.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
Runtime.getRuntime().exec("C:\\windows\\system32\\notepad.exe");
} catch (IOException e1) {
e1.printStackTrace();
}
dispose();
}
});

Exec kann noch ein bischen mehr, einfach mal in den Docs schauen und dispose() schließt ein Fenster.
Exec wirft eine I/O Exception, deswegen Try/Catch. Naturlich sollte der Catch was sinnvolleres machen, als den StackTrace auszugeben.

Vom Code her (abgesehen von einem fehlenden Semikolon bei Window size) gibts keinen Grund, warum es nicht tun sollte.
Eventuell was mit ClassPath bei Dir?
Bitte warten ..
Mitglied: Techpriest
21.12.2006 um 09:45 Uhr
Danke für die schnelle Hilfe. Ich hab den Passus unter den windowListener eingebaut. Nur schmeisst mir der beim Compilieren folgenden Fehler:

--------------------Configuration: <Default>--------------------
F:\Backup\backupRoutine.java:75: cannot find symbol
symbol: class IOException
catch(IOException e1)
^
1 error

Process completed.

Nur, ich find den Fehler nicht. Fehlt da irgendwo noch eine Deklaration oder ein Aufruf?
Bitte warten ..
Mitglied: AndreasHoster
21.12.2006 um 11:10 Uhr
Sorry, da fehlt noch das import Statement.
Also entweder oben noch
import java.io.IOException;
eintragen, oder unten
catch(java.io.IOException e1)

Sonst weiß der Compiler nicht, woher die IOException kommt.
Bitte warten ..
Mitglied: Techpriest
02.01.2007 um 09:55 Uhr
Okay, danke das wars. Jetzt geht alles.
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Windows 7
Reines ISO File auf Windows 7 installieren (9)

Frage von LukeKauf zum Thema Windows 7 ...

Windows 10
Windows 10 Answer File (5)

Frage von Patrick-IT zum Thema Windows 10 ...

Windows Server
Windows-File-Server - Macs - Probleme (5)

Frage von guenthergranate zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...