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); } }); } }