Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
SwingText auf eine Seite an beliebigen Orten schreiben
Ich möchte versuchen, dass man Text auf eine Seite schreiben kann so wie in Paint. Später möchte ich versuchen diesen auch zu bewegen, hat jemand eine Ahnung wie ich an die Aufgabe herangehen sollte? und inwiefern ich die Javaklassen erweitern muss?
einfach in das fenster zeichnen? also sich über swing im allgemeinen, jframes & jpanels zu informieren wäre da sinnvoll. die entsprechenden (mouse-) listener bzw. drag & drop wirst du dann später zum verschieben brauchen.
ich dachte an sowas wie ein JPanel und dann fügt man so eine art wie JTextAreas ein die man dann herumziehen kann oder so ähnlich, aber wie mach ich das ganze mit dem verschieben? dass ich das herumziehen kann?
so ich hab es mal versucht, es will jedoch nicht wirklich klappen weiss nicht ob es daran liegt, dass die JTextPane's keinen Inhalt haben...
Java:
public class Text {
private JFrame frame;
private JPanel panel;
private ArrayList<JTextPane> txtPanes = new ArrayList<JTextPane>();
public static void main(String[] args) {
// TODO Auto-generated method stub
Text txt = new Text();
txt.gui();
}
void gui ()
{
frame = new JFrame();
panel = new JPanel();
panel.addMouseListener(new Textfile());
for(JTextPane item : txtPanes)
{
panel.add(item);
}
frame.add(panel);
frame.setSize(500, 550);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
class Textfile implements MouseListener{
@Override
public void mouseReleased(MouseEvent event){
// create a JTextPane
JTextPane txtp = new JTextPane();
// add it to the List
txtPanes.add(txtp);
frame.revalidate();
}
.... andere Methoden
}}
Man sollte wo drauf klicken können und dann einen Text eingeben.. ich möchte, dass man mehrere zeilen schreiben kann und dies auch farbig/schriftartändern etc. kann.. deshalb hab ich JTextPane genommen.. habs auch mit einem neuen Thread versucht was nicht wirklich was gebracht hat hoffe jemand kann mir weiterhelfen