Hallo liebe Javeliebhaber
,
ich als Neuer in der Welt des Java, scheitere momentan an der Umsetzung mit dem Komponenten JScollPane. ;(
Ich versuche momentan einen ganz einfachen kleinen Texteditor zu erstellen, doch an den Scrollbars scheitere ich immer wieder -.-
Ich würde mich sehr über ein paar Lösungsvorschläge oder überhaupt Erklärungen, wie man eine Scrollbar einbaut, freuen!
Google konnte mir einfach nicht weiterhelfen ;__;
Hier mein bisheriger Quelltext, in den ich nun auch eine Scrollbar implementieren möchte...
[JAVA=154]
import javax.swing.*;
import java.io.*;
import java.awt.*;
public class Texteditor extends JFrame
{
Font Fünfzig, Zwanzig;
JTextArea TextAreal;
ActionLauscher Lauscher;
JMenuBar MenuBar;
JMenu Datei, Schrift, Hintergrund, Einfügen;
JMenuItem Speicherni, Öffneni, Neu, Farbe, Schriftart, Zw, Fünf;
String m_dateiname,m_aktText;
JScrollPane scrollPane = new JScrollPane(TextAreal);
public Texteditor()
{
super();
Zwanzig = new Font ("Zwanzig", Font.BOLD, 20); Fünfzig= new Font ("Fünfzig", Font.BOLD, 50);
TextAreal = new JTextArea();
MenuBar = new JMenuBar();
Datei = new JMenu("Datei"); Schrift = new JMenu("Schrift"); Hintergrund = new JMenu("Hintergrund"); Einfügen = new JMenu("Einfügen");
Speicherni = new JMenuItem("Speichern"); Öffneni = new JMenuItem("Öffnen"); Neu = new JMenuItem("Neu");
Farbe = new JMenuItem("Schriftfarbe ändern"); Schriftart = new JMenuItem("Schriftart ändern");
Zw = new JMenuItem("Zwanzig"); Fünf = new JMenuItem("Fünfzig");
Lauscher = new ActionLauscher();
this.add(TextAreal, BorderLayout.CENTER);
this.add(MenuBar, BorderLayout.NORTH);
MenuBar.add(Datei); MenuBar.add(Schrift); MenuBar.add(Hintergrund); MenuBar.add(Einfügen);
Datei.add(Speicherni); Datei.add(Öffneni); Datei.add(Neu);
Schrift.add(Farbe);Schrift.add(Zw); Schrift.add(Fünf); Schrift.add(Schriftart);
Speicherni.addActionListener(Lauscher);
Öffneni.addActionListener(Lauscher);
Farbe.addActionListener(Lauscher); Zw.addActionListener(Lauscher); Fünf.addActionListener(Lauscher); Schriftart.addActionListener(Lauscher);
Zw.addActionListener(Lauscher); Fünf.addActionListener(Lauscher);
this.setBounds(0, 0, 600, 600);
this.setVisible(true);
}
void dateiSpeichern()
{
int zeichen,i;
FileDialog d = new FileDialog(this,"Text speichern...",FileDialog.SAVE);
d.show();
m_dateiname = d.getFile();
if(m_dateiname == null)
return;
try
{
File ausgabedatei = new File(m_dateiname);
FileWriter ausgabe = new FileWriter(ausgabedatei);
m_aktText = TextAreal.getText();
for(i = 0; i < m_aktText.length(); i++)
{
zeichen = (int) m_aktText.charAt(i);
ausgabe.write(zeichen);
}
ausgabe.close();
}
catch(IOException e)
{
System.out.println("Fehler beim Schreiben der Datei " + m_dateiname
+ "\n");
m_dateiname = null;
}
}
void dateiLaden()
{
FileDialog d = new FileDialog(this,"Text laden...",FileDialog.LOAD);
d.show();
m_dateiname = d.getDirectory();
m_dateiname += d.getFile();
if(m_dateiname == null)
return;
StringBuffer lesepuffer= new StringBuffer();
try
{
File eingabedatei = new File(m_dateiname);
FileReader eingabe = new FileReader(eingabedatei);
char zeichen;
int gelesen;
int zeilen = 0;
boolean weiter = true;
while(weiter)
{
gelesen = eingabe.read();
if(gelesen == -1)
{
weiter = false;
continue;
}
zeichen = (char) gelesen;
lesepuffer.append( zeichen);
}
eingabe.close();
m_aktText = new String(lesepuffer);
TextAreal.setText(m_aktText);
TextAreal.setCaretPosition(0);
}
catch(EOFException e)
{
}
catch(FileNotFoundException e)
{
System.out.println("Datei nicht vorhanden oder lesbar!\n");
m_dateiname = null;
}
catch(IOException e)
{
System.out.println("Fehler beim Lesen der Datei " + m_dateiname +
"\n");
m_dateiname = null;
}
}
public class ActionLauscher extends Thread implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
if(e.getSource()==Speicherni)
{
dateiSpeichern();
}
if(e.getSource()==Öffneni)
{
dateiLaden();
}
if(e.getSource()==Farbe)
{
TextAreal.setForeground(Color.green);
}
if(e.getSource()==Zw)
{
TextAreal.setFont(Zwanzig);
}
if(e.getSource()==Fünf)
{
TextAreal.setFont(Fünfzig);
}
}
}
public static void main(String[] args)
{
Texteditor Tina= new Texteditor();
}
}
[/code]
Es wäre sehr lieb,wenn mir jemand helfen würde
Mfg, Leo :toll:
ich als Neuer in der Welt des Java, scheitere momentan an der Umsetzung mit dem Komponenten JScollPane. ;(
Ich versuche momentan einen ganz einfachen kleinen Texteditor zu erstellen, doch an den Scrollbars scheitere ich immer wieder -.-
Ich würde mich sehr über ein paar Lösungsvorschläge oder überhaupt Erklärungen, wie man eine Scrollbar einbaut, freuen!
Google konnte mir einfach nicht weiterhelfen ;__;
Hier mein bisheriger Quelltext, in den ich nun auch eine Scrollbar implementieren möchte...
[JAVA=154]
import javax.swing.*;
import java.io.*;
import java.awt.*;
public class Texteditor extends JFrame
{
Font Fünfzig, Zwanzig;
JTextArea TextAreal;
ActionLauscher Lauscher;
JMenuBar MenuBar;
JMenu Datei, Schrift, Hintergrund, Einfügen;
JMenuItem Speicherni, Öffneni, Neu, Farbe, Schriftart, Zw, Fünf;
String m_dateiname,m_aktText;
JScrollPane scrollPane = new JScrollPane(TextAreal);
public Texteditor()
{
super();
Zwanzig = new Font ("Zwanzig", Font.BOLD, 20); Fünfzig= new Font ("Fünfzig", Font.BOLD, 50);
TextAreal = new JTextArea();
MenuBar = new JMenuBar();
Datei = new JMenu("Datei"); Schrift = new JMenu("Schrift"); Hintergrund = new JMenu("Hintergrund"); Einfügen = new JMenu("Einfügen");
Speicherni = new JMenuItem("Speichern"); Öffneni = new JMenuItem("Öffnen"); Neu = new JMenuItem("Neu");
Farbe = new JMenuItem("Schriftfarbe ändern"); Schriftart = new JMenuItem("Schriftart ändern");
Zw = new JMenuItem("Zwanzig"); Fünf = new JMenuItem("Fünfzig");
Lauscher = new ActionLauscher();
this.add(TextAreal, BorderLayout.CENTER);
this.add(MenuBar, BorderLayout.NORTH);
MenuBar.add(Datei); MenuBar.add(Schrift); MenuBar.add(Hintergrund); MenuBar.add(Einfügen);
Datei.add(Speicherni); Datei.add(Öffneni); Datei.add(Neu);
Schrift.add(Farbe);Schrift.add(Zw); Schrift.add(Fünf); Schrift.add(Schriftart);
Speicherni.addActionListener(Lauscher);
Öffneni.addActionListener(Lauscher);
Farbe.addActionListener(Lauscher); Zw.addActionListener(Lauscher); Fünf.addActionListener(Lauscher); Schriftart.addActionListener(Lauscher);
Zw.addActionListener(Lauscher); Fünf.addActionListener(Lauscher);
this.setBounds(0, 0, 600, 600);
this.setVisible(true);
}
void dateiSpeichern()
{
int zeichen,i;
FileDialog d = new FileDialog(this,"Text speichern...",FileDialog.SAVE);
d.show();
m_dateiname = d.getFile();
if(m_dateiname == null)
return;
try
{
File ausgabedatei = new File(m_dateiname);
FileWriter ausgabe = new FileWriter(ausgabedatei);
m_aktText = TextAreal.getText();
for(i = 0; i < m_aktText.length(); i++)
{
zeichen = (int) m_aktText.charAt(i);
ausgabe.write(zeichen);
}
ausgabe.close();
}
catch(IOException e)
{
System.out.println("Fehler beim Schreiben der Datei " + m_dateiname
+ "\n");
m_dateiname = null;
}
}
void dateiLaden()
{
FileDialog d = new FileDialog(this,"Text laden...",FileDialog.LOAD);
d.show();
m_dateiname = d.getDirectory();
m_dateiname += d.getFile();
if(m_dateiname == null)
return;
StringBuffer lesepuffer= new StringBuffer();
try
{
File eingabedatei = new File(m_dateiname);
FileReader eingabe = new FileReader(eingabedatei);
char zeichen;
int gelesen;
int zeilen = 0;
boolean weiter = true;
while(weiter)
{
gelesen = eingabe.read();
if(gelesen == -1)
{
weiter = false;
continue;
}
zeichen = (char) gelesen;
lesepuffer.append( zeichen);
}
eingabe.close();
m_aktText = new String(lesepuffer);
TextAreal.setText(m_aktText);
TextAreal.setCaretPosition(0);
}
catch(EOFException e)
{
}
catch(FileNotFoundException e)
{
System.out.println("Datei nicht vorhanden oder lesbar!\n");
m_dateiname = null;
}
catch(IOException e)
{
System.out.println("Fehler beim Lesen der Datei " + m_dateiname +
"\n");
m_dateiname = null;
}
}
public class ActionLauscher extends Thread implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
if(e.getSource()==Speicherni)
{
dateiSpeichern();
}
if(e.getSource()==Öffneni)
{
dateiLaden();
}
if(e.getSource()==Farbe)
{
TextAreal.setForeground(Color.green);
}
if(e.getSource()==Zw)
{
TextAreal.setFont(Zwanzig);
}
if(e.getSource()==Fünf)
{
TextAreal.setFont(Fünfzig);
}
}
}
public static void main(String[] args)
{
Texteditor Tina= new Texteditor();
}
}
[/code]
Es wäre sehr lieb,wenn mir jemand helfen würde
Mfg, Leo :toll: