The Open Source Swiss Army Knife

/programmingToolBox/comp_orgI/
/programmingToolBox/comp_orgI/ + sub-categories
http://www.sirfsup.com/
web directory content
    
      

Not logged in
Chat Register Login
return to:  http:/www.sirfsup.com      /programmingToolBox   /comp_orgI 
Permalink: NumberGUI.java
Title: add
article options : please login   |  raw source view  

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


public class NumberGUI extends JFrame implements ActionListener {

  //vinduets bredde og højde samt tekstbredde
  private static final int width = 300;	
  private static final int height = 150;
  private static final int textWidth = 30;
  
  //Konstanter til knapperne
  private static final String udregnText = "     UDREGN     ";
  private static final String rydText = "Ryd felter";
  private static final String afslutText = " Afslut ";
  
  //Knapper
  private JButton beregn = new JButton(udregnText);
  private JButton ryd = new JButton(rydText);;
  private JButton afslut = new JButton(afslutText);
  
  //Tekster i vinduet
  private JLabel binaryText = new JLabel("Binær : ", JLabel.RIGHT);
  private JLabel octalText = new JLabel("Octal : ", JLabel.RIGHT);
  private JLabel decimalText = new JLabel("Decimal : ", JLabel.RIGHT);
  private JLabel hexiText = new JLabel("Hexidecimal : ", JLabel.RIGHT);
  
  //Tekstfelterne
  private JTextField binary = new JTextField(textWidth);
  private JTextField octal = new JTextField(textWidth);
  private JTextField decimal = new JTextField(textWidth);
  private JTextField hexi = new JTextField(textWidth);
  
  private String bin,oct,dec,hex;
  private Converter model;

  public NumberGUI( Converter model , String title ) throws HeadlessException {
    super(title);	//kalder JFrames konstruktør
    this.model = model;
    this.getContentPane().setLayout( new BorderLayout() );	//overordnet layout

    //Tekstfelterne sættes i midten
    Panel fields = new Panel();
    fields.setLayout( new GridLayout( 4,2 ));
    fields.add(binaryText);
    fields.add("Binær" , binary );
    fields.add(octalText);
    fields.add("Binær" , octal );
    fields.add(decimalText);
    fields.add("Binær" , decimal );
    fields.add(hexiText);
    fields.add("Binær" , hexi );
    this.getContentPane().add( fields , BorderLayout.CENTER );

	//Knapperne sættes nederst
    Panel buttons = new Panel();
    buttons.add( "Beregn" , beregn );
    buttons.add( "Ryd" , ryd );
    buttons.add( "Afslut" , afslut );
    this.getContentPane().add( buttons , BorderLayout.SOUTH );

    //sæt lytter på knapperne (klassen her er også lytter)
    beregn.addActionListener(this);
    ryd.addActionListener(this);
    afslut.addActionListener(this);

	//luk vinduet hvis man klikker på X'et
    this.addWindowListener( new WindowAdapter() {
      public void windowClosing( WindowEvent e ) {
        System.exit(0);
      }
    });

    Dimension screen  = Toolkit.getDefaultToolkit().getScreenSize( );	//finder aktuelle skærmopløsning
    this.setLocation((screen.width - width) / 2, (screen.height - height) / 3);	//sæt vinduet midt på skærmen
    this.setResizable(false);		//vinduets størrelse kan ikke ændres
    this.setSize( width , height );	//sæt vinduets størrelse
    this.setVisible( true );		//vinduet vises NU!
  }

  //læser indholdet i alle tekstfelterne
  private void getValues() {
    bin = binary.getText().trim();
    oct = octal.getText().trim();
    dec = decimal.getText().trim();
    hex = hexi.getText().trim().toUpperCase();
  }

  //sletter indholdet i alle tekstfelterne
  private void clearFields() {
    binary.setText("");
    octal.setText("");
    decimal.setText("");
    hexi.setText("");
  }

  //sætter værdierne b,o,d og h ind i tekstfelterne
  protected void update(String b , String o , String d , String h ) {
    binary.setText(b);
    octal.setText(o);
    decimal.setText(d);
    hexi.setText(h);
  }

  //Laver et fejl-vindue med text som fejlmeddelelse
  protected void fejlMeddelelse( String text ) {
    JOptionPane.showMessageDialog(this , text , "Fejl i indtastning" , JOptionPane.ERROR_MESSAGE);
  }

  //KNAPLYTTTER
  public void actionPerformed( ActionEvent e) {
     String source = ((JButton) e.getSource()).getText();	//Hvad hedder knappen der blev trykket på?
     System.out.println(source);
     if( source.equals(udregnText)) {
       getValues();
       model.calculate( bin , oct , dec , hex );
     }
     else if( source.equals(rydText)) {
       clearFields();
     }
     else if( source.equals(afslutText) ) {
       System.exit(0);
     }
  }

}

Leave a Reply
Your Name:     anonymous
Your Email:
Website:  
Comments:

The author will be notified of your reply.
return to top