Προς το περιεχόμενο

Αλλαγή Μορφής frame με το πάτημα κουμπιού.


Mike_ledis

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα.Έχω προγραμματίσει μία γραφική διεπαφή για ένα πρόγραμμα.Η λειτουργία της είναι η εξής.Όταν ξεκινάει το πρόγραμμα δημιουργώ δύο textfield και ένα κουμπί όταν εισάγω τα δεδομένα μου στο textfield και είμαι έτοιμος πατάω το κουμπί.Πατώντας το κουμπί θα πρέπει τα υπάρχοντα συστατικά του frame μου να φεύγουν και να αναδιαμορφώνεται το frame μου για το επόμενο στάδιο εισαγωγής δεδομένων.Σας παραθέτω παρακάτω τον κώδικα.Να σημειώσω πώς για το πρώτο στάδιο εισαγωγής δεδομένων καλείται η μέθοδος arxikopoisi1 και μετά οταν πατηθεί το κουμπί μου δημιουργείτε απο την μέθοδο arxikopoiιsi1 πρέπει να διαγράφονται όλα τα συστατικά απο το frame μου και να καλείται η μέθοδος arxikopoiisi2 για το δεύτερο στάδιο εισαγωγής δεδομένων.Το πρόβλημα είναι οτι μόλις πατηθεί το κουμπί η εφαρμογή κολλάει.Αν κάποιος έχει όρεξη και χρόνο ας το δεί και ας μου πεί please.

import java.awt.BorderLayout;

import java.awt.FlowLayout;

import java.awt.GridBagLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Scanner;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

 

 

public class Graphic extends JFrame {

private static final Object SOUTH = null;

public int Ari8mos_Diergasiwn=5;;

int Ari8mos_Porwn=5;

JPanel panel_Diergasiwn;

JPanel panel_Katexomenwn_Porwn;

JPanel panel_Zitoumenwn_Porwn;

JPanel panel_Odigiwn;

JPanel panel_Eisagwgis_Dedomenwn;

JTextField textField_Eisagwgis_Diergasiwn;

JTextField textField_Eisagwgis_Porwn;

public void arxikopoiisi1(){

panel_Eisagwgis_Dedomenwn=new JPanel();

panel_Eisagwgis_Dedomenwn.setLayout(new GridLayout(3,1));

textField_Eisagwgis_Porwn=new JTextField("Εισάγεται Των αριθμό των πόρων εδώ");

textField_Eisagwgis_Diergasiwn=new JTextField("Εισάγεται Των αριθμό των διεργασιών εδώ");

panel_Eisagwgis_Dedomenwn.add(textField_Eisagwgis_Diergasiwn);

panel_Eisagwgis_Dedomenwn.add(textField_Eisagwgis_Porwn);

JButton temp=new JButton("Εισαγωγή Δεδομένων");

temp.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent actionEvent) {

Ari8mos_Diergasiwn=Integer.parseInt(textField_Eisagwgis_Diergasiwn.getText());

Ari8mos_Porwn=Integer.parseInt(textField_Eisagwgis_Porwn.getText());

panel_Eisagwgis_Dedomenwn.removeAll();

System.out.println(Ari8mos_Porwn);

System.out.println(Ari8mos_Diergasiwn);

removeAll();

arxikopoiisi2();

 

}

});

 

panel_Eisagwgis_Dedomenwn.add(textField_Eisagwgis_Diergasiwn);

panel_Eisagwgis_Dedomenwn.add(textField_Eisagwgis_Porwn);

panel_Eisagwgis_Dedomenwn.add(temp);

add(panel_Eisagwgis_Dedomenwn);

this.pack();

this.setVisible(true);

}

 

public void arxikopoiisi2()

{

 

arxikopoiisi_panel_Odigiwn();

arxikopoiisi_panelDiergasiwn();

arxikopoiisi_panelKatexomenwnPorwn();

arxikopoiisi_panel_Zitoumenwn_Porwn();

 

 

setLayout(new BorderLayout());

add(panel_Odigiwn,BorderLayout.NORTH);

add(panel_Diergasiwn,BorderLayout.WEST);

add(panel_Katexomenwn_Porwn,BorderLayout.CENTER);

add(panel_Zitoumenwn_Porwn,BorderLayout.EAST);

pack();

setVisible(true);

}

 

 

public void arxikopoiisi_panelDiergasiwn()

{

panel_Diergasiwn=new JPanel();

panel_Diergasiwn.setLayout(new GridLayout(Ari8mos_Diergasiwn,1,0,10));

for(int i=0;i<=Ari8mos_Diergasiwn-1;i++)

{

char k=assignment2(i);

panel_Diergasiwn.add(new JLabel("Διεργασία"+" "+k));

 

}

}

public void arxikopoiisi_panelKatexomenwnPorwn()

{

panel_Katexomenwn_Porwn=new JPanel();

panel_Katexomenwn_Porwn.setLayout(new GridLayout(Ari8mos_Diergasiwn,Ari8mos_Porwn));

for(int i=0;i<=Ari8mos_Diergasiwn-1;i++)

{

for(int j=0;j<=this.Ari8mos_Porwn-1;j++)

{

 

final int m=Ari8mos_Diergasiwn+j;

char k=assignment2(m);

JButton temp=new JButton("ΠΟΡOΣ"+" "+k);

temp.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent actionEvent) {

System.out.println(assignment2(m));

}

});

this.panel_Katexomenwn_Porwn.add(temp);

}

}

}

public void arxikopoiisi_panel_Zitoumenwn_Porwn()

{

panel_Zitoumenwn_Porwn=new JPanel();

panel_Zitoumenwn_Porwn.setLayout(new GridLayout(Ari8mos_Diergasiwn,Ari8mos_Porwn));

for(int i=0;i<=Ari8mos_Diergasiwn-1;i++)

{

for(int j=0;j<=this.Ari8mos_Porwn-1;j++)

{

int m=Ari8mos_Diergasiwn+j;

char k=assignment2(m);

JButton temp=new JButton("ΠΟΡOΣ"+" "+k);

temp.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent actionEvent) {

System.out.println(actionEvent.getSource());

}

});

this.panel_Zitoumenwn_Porwn.add(temp);

}

}

 

 

 

 

}

public void arxikopoiisi_panel_Odigiwn()

{

panel_Odigiwn=new JPanel();

panel_Odigiwn.setLayout(new GridLayout(3,3,Ari8mos_Diergasiwn+Ari8mos_Diergasiwn/2,0));

panel_Odigiwn.add(new JLabel("ΥΠΑΡΧΟΝΤΕΣ "));

panel_Odigiwn.add(new JLabel("ΚΑΤΕΧΩΜΕΝΟΙ ΠΟΡΟΙ"));

panel_Odigiwn.add(new JLabel("ΖΗΤΟΥΜΕΝΟΙ ΠΟΡΟΙ"));

panel_Odigiwn.add(new JLabel("ΔΙΕΡΓΑΣΙΕΣ"));

panel_Odigiwn.add(new JLabel("κλικάρεται στους πορους που κατέχει"));

panel_Odigiwn.add(new JLabel("κλικάρεται στους πορους που ζητάει"));

panel_Odigiwn.add(new JLabel(" "));

panel_Odigiwn.add(new JLabel("η αριστερή διεργασία"));

panel_Odigiwn.add(new JLabel("η αριστερή διεργασία)"));

}

public char assignment2(int arcN)//Diadikasia pou xrisimopoioume gia na metatrepsoume to ari8mitiko kryptografimeno mynima se char

{

char epistrofi = 0;

switch (arcN){

case 0:

 

epistrofi='A';

break;

 

case 1:

epistrofi='B';

break;

 

case 2:

 

epistrofi='C';

break;

case 3:

 

epistrofi='D';

break;

 

case 4:

 

epistrofi='E';

break;

case 5:

 

epistrofi='F';

break;

case 6:

 

epistrofi='G';

break;

case 7:

 

epistrofi='H';

break;

case 8:

 

epistrofi='I';

break;

case 9:

 

epistrofi='J';

break;

case 10:

 

epistrofi='K';

break;

case 11:

 

epistrofi='L';

break;

case 12:

 

epistrofi='M';

break;

case 13:

 

epistrofi='N';

break;

case 14:

 

epistrofi='O';

break;

case 15:

 

epistrofi='P';

break;

case 16:

 

epistrofi='Q';

break;

case 17:

 

epistrofi='R';

break;

case 18:

 

epistrofi='S';

break;

case 19:

 

epistrofi='T';

break;

case 20:

 

epistrofi='U';

break;

case 21:

 

epistrofi='V';

break;

case 22:

 

epistrofi='W';

break;

case 23:

 

epistrofi='X';

break;

case 24:

 

epistrofi='Y';

break;

case 25:

 

epistrofi='Z';

break;

}

return epistrofi;

}

 

 

 

}

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...