Przepisanie programu wklejacz kodów ASCII, napisanego w C i GTK2

0

Hej, chciałbym przepisać program wklejacz kodów ASCII napisanyw C i GTK2. Program działał na zasadzie przenoszenia wklejania tekstu tam gdzie jest kursor. Włączałem program, ładowałem wybrany obrazek ASCII, szybko klikałem gdzie postawić kursor do wysyłania tekstu i automatycznie program ten rysunek ze znakóœ ASCII wklejał. Samą Jave mniej więcej znam, ale nie wiem co wybrać do GUI aby opakować taki programik w jakieś graficzne okienko, co polecacie do Javy, raczej GTK3 odpada.

0

A taki wklejacz znaków ascii, na zasadzie aktywnego kursora nie można prościej w AWT lub Swing?

0

Weź JavęFX. Łatwo o zachowanie MVC. GUI wyklikasz momentalnie w Scene Builderze (http://gluonhq.com/labs/scene-builder/), po czym równie szybko zakodujesz kontroler i model, po czym wszystko pięknie zepniesz w przejrzystą apkę, którą będzie łatwo rozwijać o dodatkowe funkcjonalności.

0

No mam obecnie taki programik który mi wkleja tekst, ale w tym samym oknie programu. Chciałbym aby wklejał mi tekst dokładnie tam gdzie jest aktywny kursor, np w oknie przeglądarki. Musiał by za każdą linijką tego tekstu ascii dodawać enter. Ale nie wiem jak to zrobić, dopiero raczkuje w Javie.

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

public class Wklejacz extends JFrame implements ActionListener, FocusListener
{
    private JTextField first = new JTextField(40);
    private JTextField second = new JTextField(40);
    private JComponent last = null;
    public static void main(String[] args)
    {
        new Wklejacz();
    }
    public Wklejacz()
    {
        setLayout(new FlowLayout(FlowLayout.CENTER));
        setTitle("Program");
        first.addFocusListener(this);
        add(first);
        JButton b = new JButton("Wklej");
        b.addActionListener(this);
        add(b);
        second.addFocusListener(this);
        add(second);
        pack();
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }
    public void actionPerformed(ActionEvent ae)
    {
        if(last instanceof JTextField)
        {
            JTextField tf = (JTextField)last;
            tf.setText(tf.getText()+"░░░░░░▄▄▄░░▄██▄\n" +
                                    "░░░░░▐▀█▀▌░░░░▀█▄\n" +
                                    "░░░░░▐█▄█▌░░░░░░▀█▄\n" +
                                    "░░░░░░▀▄▀░░░▄▄▄▄▄▀▀\n" +
                                    "░░░░▄▄▄██▀▀▀▀\n" +
                                    "░░░█▀▄▄▄█░▀▀\n" +
                                    "░░░▌░▄▄▄▐▌▀▀▀\n" +
                                    "▄░▐░░░▄▄░█░▀▀ BOO!!!! BOO BOO BOOOOOO!!!!!\n" +
                                    "▀█▌░░░▄░▀█▀░▀ IM A SPOOKY SPOOKY SKELETONNNN\n" +
                                    "░░░░░░░▄▄▐▌▄▄ SCURY SCURYYYYY\n" +
                                    "░░░░░░░▀███▀█░▄\n" +
                                    "░░░░░░▐▌▀▄▀▄▀▐ TOO BAD!\n" +
                                    "░░░░░░█░░░░░░░░█ I PASTED DIS TO YOUR PAGE\n" +
                                    "░░░░░▐▌░░░░░░░░░█ SO NOW YOU WILL BE SCAREDDDD\n" +
                                    "░░░░░█░░░░░░░░░░▐▌Have fun sleeping now.\uFEFF");
        }
    }
    public void focusGained(FocusEvent fe)
    {
    }
    public void focusLost(FocusEvent fe)
    {
        last = (JComponent)(fe.getSource());
    }
}
0

Nie da się tego napisać w Javie, musi być tekst wklejany tam gdzie jest aktywny kursor. Najlepiej to zrobić w C/C++ na podobnej zasadzie działają floodery czatowe.

0

LoL, przecież jak klikniesz myszką to masz zaznaczone pole i jak wrzucisz coś do stdin to poleci, do okna, które jest aktywne.
A na myszkę global hook robisz i binda na on/off funkcjonalności.

1 użytkowników online, w tym zalogowanych: 0, gości: 1