Nabend allerseits
Ich muss für meinen Java-Kurs ein netzwerkfähiges Chatprogramm schreiben - gibt es tausend Anleitungen zu, ja.
Aaaaaber ich will was ganz anderes:
Hier geht es mir vor allem um 2-3 Feinheiten bei der GUI-Programmierung.
1. Wie kann ich einstellen, dass in ein JTextArea zwar reingeklickt werden kann, um z.B. Text zu markieren und dann zu kopieren, aber, dass in dieses JTextArea nicht hineingeschrieben werden kann? - manuell jedenfalls, wie z.B. bei ICQ.
2. Als Anhang habe ich ein Screenshot von einem Beispielclient hochgeladen, meiner muss zwar nicht so aussehen, aber ich will mich dadran jedenfalls orientieren.
Meine Frage hierzu ist jetzt: was genau ist die "Trennlinie" zwischen dem oberen und unteren JTextArea?
Wenn ihr den Screenshot anguckt und dann mit meinem aktuellen GUI vergleicht wird euch das auffallen
und 3. und letztens:
Rechts will ich ein JTextArea haben, welches vertikal verläuft, in welchem die aktuellen Chatteilnehmer zu sehen sind. Allerdings krieg ich das mit der Positionierung nicht so hin. Bei mir sieht das eher aus wie... es passt einfach überhaupt nicht^^
Ich bin für jeden Tip dankbar
Ich poste euch einfach mal meinen Quelltext mit, falls ihr euch den angucken wollt^^
Lg Zel
Ich muss für meinen Java-Kurs ein netzwerkfähiges Chatprogramm schreiben - gibt es tausend Anleitungen zu, ja.
Aaaaaber ich will was ganz anderes:
Hier geht es mir vor allem um 2-3 Feinheiten bei der GUI-Programmierung.
1. Wie kann ich einstellen, dass in ein JTextArea zwar reingeklickt werden kann, um z.B. Text zu markieren und dann zu kopieren, aber, dass in dieses JTextArea nicht hineingeschrieben werden kann? - manuell jedenfalls, wie z.B. bei ICQ.
2. Als Anhang habe ich ein Screenshot von einem Beispielclient hochgeladen, meiner muss zwar nicht so aussehen, aber ich will mich dadran jedenfalls orientieren.
Meine Frage hierzu ist jetzt: was genau ist die "Trennlinie" zwischen dem oberen und unteren JTextArea?
Wenn ihr den Screenshot anguckt und dann mit meinem aktuellen GUI vergleicht wird euch das auffallen
und 3. und letztens:
Rechts will ich ein JTextArea haben, welches vertikal verläuft, in welchem die aktuellen Chatteilnehmer zu sehen sind. Allerdings krieg ich das mit der Positionierung nicht so hin. Bei mir sieht das eher aus wie... es passt einfach überhaupt nicht^^
Ich bin für jeden Tip dankbar
Ich poste euch einfach mal meinen Quelltext mit, falls ihr euch den angucken wollt^^
Lg Zel
Java:
package gui;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JTextArea;
import javax.swing.JTextField;
/**
* Klasse: Die Klasse UserInterfaceClient stellt das GUI, bzw. das Interface
* fuer den Client dar, in welchem dieser dann das Chatprogramm zu sehen
* bekommt.
*/
public class UserInterfaceClient extends JFrame {
/**
* Attribut: Eine statische, unveraenderbare Variable des Typs long wird
* deklariert und initialisiert.
*/
private static final long serialVersionUID = -9142707690379587523L;
/**
* Attribut: Ein JButton wird deklariert und initialisiert, mit welchem
* spaeter der eingegebene Text abgeschickt wird.
*/
private JButton send = new JButton("Senden");
/**
* Attribut: Ein JTextField wird deklariert und initialisiert, in welchem
* spaeter der Text eingegeben wird, welchen der Benutzer an seinen
* Chatpartner uebermitteln mšchte.
*/
private JTextField in = new JTextField(10);
/**
* Attribut: Ein JTextArea wird deklariert und initialisiert, in welchem
* spaeter der geschriebene und gesendete Text angezeigt wird.
*/
private JTextArea out = new JTextArea(15, 20);
/**
* Attribut: Ein JTextArea wird deklariert und initialisiert, in welchem die
* am Chat teilnehmenden Benutzer angezeigt werden.
*/
// private JTextArea user = new JTextArea(15, 5);
private JLabel name = new JLabel("Nickname: ");
private JTextField username = new JTextField(10);
private JPanel north = new JPanel();
private JMenuBar menue = new JMenuBar();
private JMenu datei = new JMenu("Datei");
private JMenuItem exit = new JMenuItem("Beenden");
/**
* Methode: In dieser Methode wird das GUI erstellt, in welchem spaeter der
* Benutzer das Chatprogramm zu sehen bekommt.
*/
public UserInterfaceClient() {
super("Cool Version 1.0");
actionHandler();
this.setLayout(new FlowLayout());
this.setSize(300, 400);
this.setLocation(300, 250);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Modifizieren
out.setFocusable(false);
north.add(name);
north.add(username);
menue.add(datei);
datei.add(new JSeparator());
datei.add(exit);
this.setJMenuBar(menue);
// Hinzufuegen der Attribute zum Frame
this.add(north);
this.add(out);
this.add(in);
this.add(send);
}
}
Anhänge
Zuletzt bearbeitet: