Hallo Leute,
Ich wollte mich mal ein wenig mit Java beschäftigen,
aber ich hab nicht mal ein kleines programm zum laufen
gebracht. Ich wollte nur mal um die Grundfunktionen
ausprobieren ein kleines testfeld erstellen, bei dem sich
bei knopfdruck der inhalt ändert, eigentlich simpel, habs
aber trozdem nicht fertiggebrecht, kann mir vieleicht jemand
sagen was denn hier nicht stimmt:
---------------------------------------------------
package first;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* Title:
* Description:
* Copyright: Copyright (c) 2001
* Company:
* @author
* @version 1.0
*/
public class Frame1 extends JFrame {
JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
JButton jButton1 = new JButton();
JTextArea jTextArea1 = new JTextArea();
/**Construct the frame*/
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
/**Component initialization*/
private void jbInit() throws Exception {
jButton1.setText("press");
//setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(477, 82));
this.setTitle("Java");
jTextArea1.setText("");
contentPane.add(jButton1, BorderLayout.SOUTH);
contentPane.add(jTextArea1, BorderLayout.NORTH);
}
void jButton1_actionPerformed(ActionEvent e)
{
jTextArea1.setText("hallo");
}
/**Overridden so we can exit when window is closed*/
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
}
---------------------------------------------------
Beim Debuggen gibts keine Fehler, aber wenn das
Programm läuft und ich aufs Knöpfchen drücke
passiert nichts... :-)
thx
Fabian
Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge
public class Frame1 extends JFrame {
umschreiben in
public class Frame1 extends JFrame implements ActionListener {
(ohne gewähr, bin auch erst am lernen)
danke für den Tipp, aber gebracht hats auch nichts,
(aussert einem Fehler beim Kompilieren :-) Ich bin
eigentlich der Meinung das mein Programm stimmt,
da das meiste sowieso von JBuilder erstellt wurde...
das einzige was ich gemacht habe war eigentlich das:
void jButton1_actionPerformed(ActionEvent e)
{
jTextArea1.setText("hallo");
}
mfg
Fabian
ahso, den jbuilder habe ich auch ausprobiert. aber dann habe ich zum codewarrior gewechselt (auf meinem 300mhz laptop, worauf ich hauptsächlich programmiere ist das ein massiver geschwindigkeitsunterschied).
wenn ich deinen code dort versuche zu kompilieren, bekomme ich fehler ohne ende.
was willst du überhaupt machen mit deinem programm?
da gibt es bestimmt auch einfachere wege. der code erscheint mir doch seeeeeeeeeehr lange zu sein.
ich will eigentlich nichts machen mit dem Programm,
ich wollte nur man die Grundsachen ausprobieren, da
ich noch nie in Java programmiert habe. Ich finde auch
dass der Text extrem lange ist, für das was das programm
macht (oder machen sollte ;-) aber wie schon gesagt:
ich habe nur folgendes eingefügt:
void jButton1_actionPerformed(ActionEvent e)
{
jTextArea1.setText("hallo");
}
den restlichen text hat JBuilder hineingefügt.
mfg
Fabian
So wie es aussieht hat dein Frame keine Main-Methode, muss also von jemand anderem gestartet werden.
public static void main(String args[])
{
Frame1 frame = new Frame1();
frame.pack();
frame.show();
}
oder so ähnlich könnte klappen
Javameister
Versuch es mal mit dem folgenden Quelltext:
import java.awt.event.*; // Fuer das Eventhandling ueber den Button
import java.awt.*; //
import javax.swing.*;//Fuer das ganze drumherum: Button Frame, Panel....
class ButtonPress implements ActionListener{ //implementieren des ActionListener Interfaces; keine Lust etwas zu erben.
JFrame frame = new JFrame("Hit Me"); // Frameinstanz erstellen, inkl Headline Hit Me
JButton knopp = new JButton("Drueck mich"); // Button mit Text erstellen
JLabel label = new JLabel();// Label erstellen, der Text kann geändert werden
String text1 = "Erst 1.."; // Text der zuerst erscheint
String text2 = "..dann 2";// folgender Text
JPanel panel = new JPanel();//
public void fenster(){
knopp.addActionListener(this);// Damit der Knopp auch was macht bekommt er einen Listener, this bezeichnet den Listener der eigenen Klasse
label.setText(text1); //Label beschreiben
panel.setLayout(new GridLayout(1,1));//Layout fuer das Panel bestimmen
panel.add(knopp); // Button auf das Panel
panel.add(label); // Label auf das Panel
frame.getContentPane().add(panel); // Das Panel auf das Fenster legen
frame.setVisible(true); // Fenster sichtbar machen
frame.pack(); //Inhalte von Java anordnen lassen
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//Damit man das Fenster auch schliessen kann.
}
public void actionPerformed(ActionEvent e){ //Uerberschreiben der Mehtode aus dem Interface
if (label.getText().equals("Erst 1..")) // Welche Aufschrift traegt der Knopp, wenn text1 dann text2 und umgekehrt.
label.setText(text2);
else
label.setText(text1);
}
public static void main(String args[]){
ButtonPress test = new ButtonPress(); //Instanz von der Klasse erstellen
test.fenster(); // Methode fenster aufrufen
}
}