Aufruf eines modalen JDialog, welcher zu einem JFrame gehört. Der Dialog kann über einen JButton geschlossen werden.
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);
}
}
Anzeige eines JFrames mit einer JList - Komponente.
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();
}
}
In diesem Beispiel soll ein einfaches Meldungsfenster mit Hilfe der JOptionPane angezeigt werden.
import javax.swing.*;
public class JOptionPaneExample1{
public static void main(String args[]){
JOptionPane.showMessageDialog(null,
"Fehlermeldung",
"Meldungsfenster",
JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
}
In diesem Beispiel wird eine einfache JTable angezeigt
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);
}
}
In diesem Beispiel wird ein JTextField so erweitert, dass nur eine Eingabe von Zahlen möglich ist.
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);
}
}
}
In diesem Beispiel soll gezeigt werden, wie man die Eingabe eines "," in einem JTextfield mit Hilfe von KeyListener in eine Eingabe von "." umwandeln kann.
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);
}
}
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());
}
}
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.
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);
}
}
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);
}
});
}
}