19. marts 2003 - 15:14Der er
41 kommentarer og 1 løsning
HVORDAN KAN MAN FÅ GUI TIL AT HENTE EN ANDEN KLASSE.........?????
JEG HAR EN GUI KLASSE... HVORI MIN MAIN METODE LIGGER... DER EFTER HAR JEG NOGLE UNDER KLASSE...... JEG VIL GERNE HAVE MIN MAIN KLASSE TIL AT HENTE EN AF DE ØVERIGE KLASSER JEG HAR...... HVORDAN SKAL DET GØRES?????? HVILKEN METODE SKAL MAN BRUGE TIL DET???? KAN MAN GODT BRUGE "actionPerformed"????
Ja lidt..... ka det ikke gøres en anelse simplere... Jeg tror at det er lige i overkanten.... I min GUI klasse der har jeg nogle knapper der refere til nogle under klasser.... og når jeg så trykker f.eks på en af dem... så skal den hente dataen der ligger i min under klasse.......
Grunden til at jeg bragte den lidt mere tricky problem-stilling på bane hvor den anden klasse selv skal opdatere noget i GUI'en er at det er en ret almindelig problem-stilling i GUI programmering.
Ja der tror jeg der en der har fat i noget.... Der er nemli i actionlistner man skal refere til den klasse man vil have hentet...... kan man enlig ikke bruge den her: public void actionPerformed (ActionEvent e) { Object Source = e.getSource();
Nej nej...... Jeg tror at jeg er fuldstændigt forvirret nu...... Jeg tror at jeg prøver en gang til....... Jeg har en GUI klasse..... som virker som en slags hoved menu..... og i den er der nogle knapper..... når det er at jeg trykker på f.eks knap1.. så skal der dukke en anden klasse op..... som og så er en GUI....... dvs. Vi har en GUI køreende trykker på en knap så dukker der en anden GUI...... håber at det er forståligt nok.......
Når det er at jeg fjerner: String knap1 = e.getActionCommand(); if(e.getSource () == knap1) så visser den fejl.....: cannot resolve symbol symbol : variable knap1
Den compiler også nu........ men den henter bare ikke Spoergsmaal3...... der sker intet.......... den reagere ikke....... men hvis jeg derimod skriver en System.out.println("hej"); så vil den gerne skrive...... men der dukker ikke den der GUI' klass op
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF LABEL // -------------------------------------------------------------------------------------------------------
JLabel 8110 = new JLabel ("nokia 8110 :"); JLabel 8210 = new JLabel ("nokia 8210 :"); JLabel 8310 = new JLabel ("nokia 8310 :"); JLabel 8410 = new JLabel ("nokia 8410 :"); JLabel 8510 = new JLabel ("nokia 8510 :"); JLabel 8610 = new JLabel ("nokia 8610 :"); JLabel 8710 = new JLabel ("nokia 8710 :");
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF TEKSTFELT // -------------------------------------------------------------------------------------------------------
JTextField textfelt = new JTextField(35); JTextField textfelt1 = new JTextField(35); JTextField textfelt2 = new JTextField(35); JTextField textfelt3 = new JTextField(35); JTextField textfelt4 = new JTextField(35); JTextField textfelt5 = new JTextField(35); JTextField textfelt6 = new JTextField(35);
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF TEKSTAREAL (TEXTAREA) // -------------------------------------------------------------------------------------------------------
JTextArea tekst = new JTextArea(10,40);
tekst.setBackground(Color.lightGray);
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF DE ENKELTE ELEMENTER / OBJEKTER // -------------------------------------------------------------------------------------------------------
Hvordan fungere disse...... Har ikke brugt dem før....... Men altså denne Spoergsmaal3.... er den der skal dukke op når jeg i min main klasse kalder den ved at trykke på knap1.......... Hvordan kan det være at når jeg i min main klasse feks. skriver public static void main(String [] args){ Spoergsmaal3 spg = new Spoergsmaal3(); } og derefter når jeg compiler der og kører så dukker denne klasse gerne op....... men den oprindelig klasse dukker ikke op.............
Causes this Window to be sized to fit the preferred size and layouts of its subcomponents. If the window and/or its owner are not yet displayable, both are made displayable before calculating the preferred size. The Window will be validated after the preferredSize is calculated.
public void show()
Makes the Window visible. If the Window and/or its owner are not yet displayable, both are made displayable. The Window will be validated prior to being made visible. If the Window is already visible, this will bring the Window to the front.
Arne ved du havd....... Nu har jeg ikke tålmodighed længere........ har sidet med den i næsten to dage Jeg sender lige koden som den er, så må du se om det kan hjælpe eller ikke... Den første er main-klassen (nokiasalg) og fra den trykker på knap1 så skulle den nye GUI vindue dukke op. Altså klassen "Spoergsmaal3" import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*;
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF LABEL // -------------------------------------------------------------------------------------------------------
JLabel spoergsmaa3 = new JLabel ("Tast 1 for spørgsmål nr: 3",JLabel.RIGHT); JLabel spoergsmaa4 = new JLabel ("Tast 2 for spørgsmål nr: 4",JLabel.RIGHT); JLabel spoergsmaa5 = new JLabel ("Tast 3 for spørgsmål nr: 5",JLabel.RIGHT); JLabel spoergsmaa6 = new JLabel ("Tast 4 for spørgsmål nr: 6",JLabel.RIGHT); JLabel spoergsmaa7 = new JLabel ("Tast 5 for spørgsmål nr: 7",JLabel.RIGHT); JLabel spoergsmaa8 = new JLabel ("Tast 6 for spørgsmål nr: 8",JLabel.RIGHT);
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF TEKSTFELT // -------------------------------------------------------------------------------------------------------
JTextField textfelt = new JTextField(35); JTextField textfelt1 = new JTextField(35); JTextField textfelt2 = new JTextField(35);
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF TEKSTAREAL (TEXTAREA) // -------------------------------------------------------------------------------------------------------
// JTextArea textarea = new JTextArea(10,40);
// textarea.setBackground(Color.yellow);
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF DE ENKELTE ELEMENTER / OBJEKTER // -------------------------------------------------------------------------------------------------------
else if (e.getSource () == knap2) { Spoergsmaal3 spg3 = new Spoergsmaal3(); } }
public static void main(String [] args) {
nokiasalg nok = new nokiasalg(); } } ------------------------------------------------------------------------------- den anden klasse ------------------------------------------------------------------------------- import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*;
class Spoergsmaal3 extends JFrame implements ActionListener { public Spoergsmaal3() {
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF LABEL // -------------------------------------------------------------------------------------------------------
JLabel 8110 = new JLabel ("nokia 8110 :"); JLabel 8210 = new JLabel ("nokia 8210 :"); JLabel 8310 = new JLabel ("nokia 8310 :"); JLabel 8410 = new JLabel ("nokia 8410 :"); JLabel 8510 = new JLabel ("nokia 8510 :"); JLabel 8610 = new JLabel ("nokia 8610 :"); JLabel 8710 = new JLabel ("nokia 8710 :");
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF TEKSTFELT // -------------------------------------------------------------------------------------------------------
JTextField textfelt = new JTextField(35); JTextField textfelt1 = new JTextField(35); JTextField textfelt2 = new JTextField(35); JTextField textfelt3 = new JTextField(35); JTextField textfelt4 = new JTextField(35); JTextField textfelt5 = new JTextField(35); JTextField textfelt6 = new JTextField(35);
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF TEKSTAREAL (TEXTAREA) // -------------------------------------------------------------------------------------------------------
JTextArea tekst = new JTextArea(10,40);
tekst.setBackground(Color.lightGray);
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF DE ENKELTE ELEMENTER / OBJEKTER // -------------------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF KNAPPER // -------------------------------------------------------------------------------------------------------
knap1 = new JButton("Spørgsmål 3"); knap2 = new JButton("Spørgsmål 4"); knap3 = new JButton("Spørgsmål 5"); knap4 = new JButton("Spørgsmål 6"); knap5 = new JButton("Spørgsmål 7"); knap6 = new JButton("Spørgsmål 8");
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF LABEL // -------------------------------------------------------------------------------------------------------
JLabel spoergsmaa3 = new JLabel("Tast 1 for spørgsmål nr: 3", JLabel.RIGHT); JLabel spoergsmaa4 = new JLabel("Tast 2 for spørgsmål nr: 4", JLabel.RIGHT); JLabel spoergsmaa5 = new JLabel("Tast 3 for spørgsmål nr: 5", JLabel.RIGHT); JLabel spoergsmaa6 = new JLabel("Tast 4 for spørgsmål nr: 6", JLabel.RIGHT); JLabel spoergsmaa7 = new JLabel("Tast 5 for spørgsmål nr: 7", JLabel.RIGHT); JLabel spoergsmaa8 = new JLabel("Tast 6 for spørgsmål nr: 8", JLabel.RIGHT);
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF TEKSTFELT // -------------------------------------------------------------------------------------------------------
JTextField textfelt = new JTextField(35); JTextField textfelt1 = new JTextField(35); JTextField textfelt2 = new JTextField(35);
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF TEKSTAREAL (TEXTAREA) // -------------------------------------------------------------------------------------------------------
// JTextArea textarea = new JTextArea(10,40);
// textarea.setBackground(Color.yellow);
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF DE ENKELTE ELEMENTER / OBJEKTER // -------------------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF LABEL // -------------------------------------------------------------------------------------------------------
JLabel n8110 = new JLabel("nokia 8110 :"); JLabel n8210 = new JLabel("nokia 8210 :"); JLabel n8310 = new JLabel("nokia 8310 :"); JLabel n8410 = new JLabel("nokia 8410 :"); JLabel n8510 = new JLabel("nokia 8510 :"); JLabel n8610 = new JLabel("nokia 8610 :"); JLabel n8710 = new JLabel("nokia 8710 :");
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF TEKSTFELT // -------------------------------------------------------------------------------------------------------
JTextField textfelt = new JTextField(35); JTextField textfelt1 = new JTextField(35); JTextField textfelt2 = new JTextField(35); JTextField textfelt3 = new JTextField(35); JTextField textfelt4 = new JTextField(35); JTextField textfelt5 = new JTextField(35); JTextField textfelt6 = new JTextField(35);
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF TEKSTAREAL (TEXTAREA) // -------------------------------------------------------------------------------------------------------
JTextArea tekst = new JTextArea(10, 40);
tekst.setBackground(Color.lightGray);
// ------------------------------------------------------------------------------------------------------- // TILFØJELSE AF DE ENKELTE ELEMENTER / OBJEKTER // -------------------------------------------------------------------------------------------------------
Fantastisk...... Du har bare styr på det!!!! Det er bare så fedt...... Jeg siger tusind tak for hjælpen Arne...... det var rigtig sødt af dig...... ang. farverne, så har du ret de lidt krasse...... men det var bare nu nogle jeg havde valgt foreløbigt....... Nåh nu vil jeg rode lidt med den ;)
hilsen Michelle
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.