Das Typeitin ist eine Anwendung, die schon einmal erstellt wurde und die ich nun nach gemacht habe. Es wird ein Rechtsklick auf das Fenter gemacht, dann wird die Abkürzung für den gewünschten Text festgelegt und dann der Text, der bei dem Klick auf den Button eingefügt werden soll.

import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class Mausereignisse extends JFrame implements MouseListener {
private JPanel panel;
public Mausereignisse(int size) {
setTitle("Typeitin");
setSize(300, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout(FlowLayout.CENTER));
panel = new JPanel(new FlowLayout());
panel.setPreferredSize(new Dimension(280, 480));
panel.addMouseListener(this);
add(panel);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new Mausereignisse(4));
}
@Override
public void mouseClicked(MouseEvent e) {
if (SwingUtilities.isRightMouseButton(e)) {
String buttonText = JOptionPane.showInputDialog(this, "Geben Sie die Kurzbezeichnung für den Button ein:");
String buttonBezeichnung = JOptionPane.showInputDialog(this, "Geben Sie den Text für den Button ein:");
if (buttonText != null && !buttonText.trim().isEmpty() && buttonBezeichnung != null && !buttonBezeichnung.trim().isEmpty()) {
JButton newButton = new JButton(buttonText);
newButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
StringSelection stringSelection = new StringSelection(buttonBezeichnung);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(stringSelection, null);
JOptionPane.showMessageDialog(null, "Text in die Zwischenablage kopiert!");
File file = new File("Ausgabe.txt");
try (BufferedWriter writer = new BufferedWriter(new FileWriter(file, true))) {
writer.write(buttonBezeichnung);
writer.newLine();
} catch (IOException ex) {
ex.printStackTrace();
}
}
});
panel.add(newButton);
panel.revalidate();
panel.repaint();
}
}
}
@Override
public void mouseExited(MouseEvent e) {
// Implementierung hier, erforderlich, aber kann leer gelassen werden.
}
@Override
public void mouseEntered(MouseEvent e) {
// Implementierung hier
}
@Override
public void mousePressed(MouseEvent e) {
// Implementierung hier
}
@Override
public void mouseReleased(MouseEvent e) {
// Implementierung hier
}
}
Die Daten werden in der Datei Ausgabe.txt gespeichert.
