Code snippets: Swing

JDialogExample1
JListExample1
JOptionPaneExample1
JTableExample1
JTextFieldExtendExample1
KommaPunkt
JComponentToJPG
JComboBoxExample1

JDialogExample1


Aufruf eines modalen JDialog, welcher zu einem JFrame gehört. Der Dialog kann über einen JButton geschlossen werden.


JDialog

Quellcode:

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

 public class JDialogExample1 extends  JFrame{ 
  public static  void  main(String args[]){ 
    new  JDialogExample1(); 
  } 


  public  JDialogExample1(){ 
    super("JDialogExample1"); 
    WindowListener wl1 = new WindowAdapter(){ 
      public  void  windowClosing(WindowEvent e){ 
        System.exit(0); 
      } 
    }; 
    addWindowListener(wl1); 

    pack(); 
    setVisible(true); 
    new  TheDialog(this); 
  }   
} 

class  TheDialog  extends  JDialog{ 
  JButton b1 = new JButton("OK"); 
  JTextField t1 = new JTextField(10); 

  public  TheDialog(JFrame frame){     
    super(frame,"dialog",true); 

    ActionListener al1 = new ActionListener(){ 
      public void actionPerformed(ActionEvent e){ 
        hide(); 
        dispose(); 
      } 
    }; 
    b1.addActionListener(al1); 

    JPanel panel = new JPanel(); 
    panel.add(t1); 
    panel.add(b1); 
    getContentPane().add(panel); 
    pack(); 
    setVisible(true); 
  } 
} 
itmapa.de - X2H V 0.19

JListExample1

Anzeige eines JFrames mit einer JList - Komponente.



JList

Quellcode:

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

public class JListExample1 extends JFrame{ 

  public JListExample1(){ 
    super("JListExample1"); 

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

    DefaultListModel listModel = new DefaultListModel(); 
    for  (int  i =  0; i <  10; ++i){ 
      listModel.addElement("Element "+i); 
    } 
    JList list = new JList(listModel); 
    JScrollPane sp = new JScrollPane(list); 

    getContentPane().add(sp); 
    pack(); 
    setVisible(true); 
  } 

  public static void main(String args[]){ 
    JListExample1 le = new JListExample1();     
  } 
} 
itmapa.de - X2H V 0.19

JOptionPaneExample1

In diesem Beispiel soll ein einfaches Meldungsfenster mit Hilfe der JOptionPane angezeigt werden.



JOptionPane

Quellcode:

import javax.swing.*; 

public class JOptionPaneExample1{ 
  public static void main(String args[]){    
    JOptionPane.showMessageDialog(null, 
        "Fehlermeldung", 
        "Meldungsfenster", 
        JOptionPane.ERROR_MESSAGE); 
    System.exit(0); 
  } 
}
itmapa.de - X2H V 0.19

JTableExample1

In diesem Beispiel wird eine einfache JTable angezeigt



JTable

Quellcode:

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

public class JTableExample1{ 
  public static void main (String args[]){ 
    JFrame frame1 = new JFrame("JTableDemo1"); 

    WindowListener wl = new WindowAdapter(){                            
      public void windowClosing(WindowEvent e){  
        System.exit(0); 
      } 
    }; 
    frame1.addWindowListener(wl); 

    frame1.getContentPane().add(new TableDemo());                   
    frame1.pack();                                                      
    frame1.show(); 
  } 
}   

class TableDemo extends JPanel{ 
  TableDemo(){ 
    TableModel dataModel = new AbstractTableModel(){ 
      String ueber[]  =  {"links","mitte","rechts"}; 
      public String getColumnName(int  column) {return ueber[column];}   
      public int getColumnCount(){return  3;}                            
      public int getRowCount(){return  10;}                              
      public bject getValueAt(int  row,  int  col){                      
        switch(col){  
          case 0: return("links Zeile "+row);       
          case 1: return("mitte Zeile "+row); 
          case 2: return("rechts Zeile "+row); 
          default: return(""); 
        } 
      } 
      public boolean isCellEditable(int row, int col){return true;}    
    }; 

    JTable table = new JTable(dataModel);                                
    table.setPreferredScrollableViewportSize(new Dimension(300,150));    
    JScrollPane scrollPane = new JScrollPane(table);                   
    add(scrollPane);                                                    
  } 
}  
itmapa.de - X2H V 0.19

JTextFieldExtendExample1

In diesem Beispiel wird ein JTextField so erweitert, dass nur eine Eingabe von Zahlen möglich ist.

Quellcode:

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

public class JTextFieldExtendExample1 extends JTextField{ 

  public JTextFieldExtendExample1(int columns){ 
    super(columns);  
  } 

  protected Document createDefaultModel(){ 
    return new NnInt(); 
  } 

  static class NnInt extends PlainDocument{ 
    public void insertString(int offs, String str, AttributeSet a)throws BadLocationException{ 
      if  (str ==  null)  return; 

      char[] chars = str.toCharArray(); 
      for(int  i =  0; i < chars.length; ++i){ 
        if (!Character.isDigit(chars[i])) return; 
      } 

      super.insertString(offs, new String(chars), a); 
    } 
  }   
} 
itmapa.de - X2H V 0.19

KommaPunkt

In diesem Beispiel soll gezeigt werden, wie man die Eingabe eines "," in einem JTextfield mit Hilfe von KeyListener in eine Eingabe von "." umwandeln kann.


Quellcode:

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

public class KommaPunkt{ 
  public static void main(String args[]){ 
    JFrame frame1 = new JFrame(); 
 
    // WindowListener zum beenden des Programmes 
    WindowListener wl = new WindowAdapter(){ 
      publi  void  windowClosing(WindowEvent e){ 
        System.exit(0); 
      } 
    }; 
    frame1.addWindowListener(wl); 

    // Fensterinhalt gestalten und Fenster anzeigen 
    frame1.getContentPane().add(new Inhalt()); 
    frame1.pack(); 
    frame1.show(); 
  } 
} 

class Inhalt extends JPanel{ 
  Inhalt(){ 
    JTextField c_tf1 = new JTextField(10); 

    add(c_tf1); 

    // Umwandlung von "," nach "." 
    KeyListener kl =  new  KeyAdapter(){ 
      public void  keyTyped(KeyEvent e){ 
        if (e.getKeyChar() == ',')  e.setKeyChar('.'); 
      } 
    }; 
    c_tf1.addKeyListener(kl); 
  } 
} 
itmapa.de - X2H V 0.19

JComponentToJPG

In diesem Beispiel wird aus einer JComponent eine JPEG-Grafikdatei erzeugt. Auch wenn in diesem Beispiel eine selbstentwickelte JComponent verwendet wird, funtioniert dieses Beispiel mit allen von JComponent abgeleiteten Klassen.

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;

import javax.imageio.*;
import javax.swing.*;


public class JComponentToJPG extends JFrame{
  private JButton       createJPEG;
  private MyComponent2  myComponent;
  
  public static void main(String[] args){
    new JComponentToJPG();
  }
 
  public JComponentToJPG(){
    createView();
    createListener();
  }
  
  private void createView(){
    JPanel panel = new JPanel(new BorderLayout());
    panel.add(createJPEG = new JButton("Create JPEG"),BorderLayout.SOUTH);
    panel.add(myComponent = new MyComponent2(),BorderLayout.CENTER);
    
    add(panel);
    
    setSize(500,500);
    setVisible(true);
  }
  
  private void createListener(){
    addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){
        System.exit(0);
      }
    });
    
    createJPEG.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        BufferedImage bufferedImage = new BufferedImage(myComponent.getWidth(),
            myComponent.getHeight(),BufferedImage.TYPE_INT_RGB);        
        Graphics g = bufferedImage.createGraphics();
        myComponent.paint(g);
        try{
          ImageIO.write(bufferedImage, "jpeg", new File("./myTest.jpg"));
        }
        catch(Exception ex){
          ex.printStackTrace();
          System.exit(0);
        }
      }
    });
  }
}

class MyComponent2 extends JComponent{
  public void paintComponent(Graphics g){
    Graphics2D g2d = (Graphics2D)g;
    g2d.setBackground(Color.GRAY);
    g2d.setColor(Color.BLUE);
    g2d.clearRect(0,0,getWidth(),getHeight());
    g2d.drawLine(0,0,getWidth(),getHeight());
    g2d.drawLine(getWidth(),0,0,getHeight());
  }
}
itmapa.de - X2H V 0.19

JComboBoxExample1

Die Nachfolgende Klasse JComboBoxExample1 erweitert eine JCombox in der Form, dass nach der Auswahl eines Elements, das ausgewählte Element an oberster Stelle in der Auswahlliste erscheint.

JComboBox
import java.awt.event.*;

import javax.swing.*;

public class JComboBoxExample1 extends JComboBox implements ActionListener
{
  public JComboBoxExample1(){
    addActionListener(this);    
  }
  
  public void actionPerformed(ActionEvent e){
    Object o = getSelectedItem();
    DefaultComboBoxModel model = (DefaultComboBoxModel) getModel();
    model.removeElementAt(getSelectedIndex());
    model.insertElementAt(o,0);
    model.setSelectedItem(o);
  }
}
itmapa.de - X2H V 0.19

Die nachfolgende Klasse verwendet die oben vorgestellte Klasse JComboBoxExample1.

import java.awt.event.*;

import javax.swing.*;

public class TestTheComboBox extends JFrame{
  private JComboBoxExample1 jComboBoxExample1;
  
  public static void main(String[] args){
    new TestTheComboBox();
  }
  
  public TestTheComboBox(){
     JPanel panel1 = new JPanel();
    
    panel1.add(jComboBoxExample1 = new JComboBoxExample1());
   
    jComboBoxExample1.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        System.out.println(jComboBoxExample1.getSelectedItem());
        System.out.println(jComboBoxExample1.getSelectedIndex());
      }
    });
    
    jComboBoxExample1.addItem("Test1");
    jComboBoxExample1.addItem("Test2");
    jComboBoxExample1.addItem("Test3");
    jComboBoxExample1.addItem("Test4");
    jComboBoxExample1.addItem("Test5");
    
    add(panel1);
    pack();
    setVisible(true);
    
    addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){
        System.exit(0); 
      }
    });
  } 
}
itmapa.de - X2H V 0.19