Låsa storlek på JTextArea [JAVA]
Behöver hjälp!
I vårt projektarbete i 3an så håller jag och 3 kompisar på och skriver en chatklient.
Jag skriver GUIn till allting. Men jag har stött på ett problem...
Jag måste kunna låsa JTextArean där all chat hamnar ...
hm.. verkar som om det är JScrollPane som bråkar ... Någon som ser vad jag gjort för fel där ?
Här är koden:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class chat extends JFrame implements ActionListener
{
//Grafiska komponenter och andra datatyper
JTextArea läsa = new JTextArea(10,4);
JTextArea skriva = new JTextArea(3,20);
JButton skicka = new JButton("Skicka");
//Konstruktor
chat()
{
//Anropa superklassens konstruktor och ge titeln
super("Fichi");
//Skapa paneler och placerar dessa i fnönstret
setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
JPanel p0 = new JPanel(); //Läsa och scrollpane
add(p0);
JPanel p1 = new JPanel(); //skriva och skicka-knapp
add(p1);
//******************
p0.setLayout(new BoxLayout(p0, BoxLayout.X_AXIS));
p0.setBorder(BorderFactory.createEmptyBorder(10,10,5,10));
JScrollPane scrollPane = new JScrollPane(läsa,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollPane.setPreferredSize(new Dimension(20, 75));
p0.add(läsa);
p0.add(scrollPane);
läsa.setBorder(BorderFactory.createLineBorder(Color.lightGray, 1));
//**************************
p1.setLayout(new BoxLayout(p1, BoxLayout.X_AXIS));
p1.setBorder(BorderFactory.createEmptyBorder(0,10,10,10));
//p1.setBorder(BorderFactory.createMatteBorder(1,1,0,1,Color.DARK_GRAY));
p1.add(skriva);
p1.add(skicka);
skriva.setBorder(BorderFactory.createLineBorder(Color.lightGray, 1));
//Menyraden
JMenuBar menubar = new JMenuBar();
setJMenuBar(menubar);
JMenu meny1 = new JMenu("Meny1");
JMenu meny2 = new JMenu("Meny2");
JMenu meny3 = new JMenu("Meny3");
menubar.add(meny1);
menubar.add(meny2);
menubar.add(meny3);
/* //Arkiv-menyn
arkiv.add(ny);
arkiv.add(öppna);
arkiv.add(print);
arkiv.add(pageformat);
arkiv.addSeparator();
arkiv.add(avsluta);
//Redigera-menyn
redi.add(klipp);
redi.add(kopiera);
redi.add(klistra);
redi.getItem(0).setText("Klipp Ut");
redi.getItem(1).setText("Kopiera");
redi.getItem(2).setText("Klistra In");
*/
//Låt dessa objekt lyssna på händelser
skicka.addActionListener(this);
//Anpassa och visa upp fönstret
pack();
//setSize(200,500);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
//Metod som anropas vid någon händelse
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource() == skicka)
{
läsa.setText("Chat, Chat, Chat ...");
}
else
{
läsa.setText("Bajs");
}
}
//main-metoden
public static void main(String[] RaveN)
{
//Login namnFönster = new Login();
new chat();
}
}
Koden är fortfarande väldigt mycket i utvecklingsstadium, så inga hårda ord mot den =P
Tack på förhand ..
// Micke
[[ CPU: P4 3 ghz @ 3,4 ghz, socket 478 ]] [[ Mobo: ASUS P4C800-E Deluxe ]] [[ 3*512 mb, pc3200 ]] [[ 2 * 120 gb S-ata, 1 * 200 gb IDE ]] [[ Asus 9600SE ]] [[ Logitech Z-5500 ]]