K
KaffeeKoch
Gast
Hi,
ich versuche mir gerade eine GUI zu basteln bei der unter anderem ein JEditorPane existieren soll. Damit alles angezeigt werden kann, brauche eine Scrollbar. Trotz ewigen Suchen und lesen bei der Insel komm ich einfach nicht auf den Fehler. Vielleicht kann mir jemand helfen... - Ahja habe an der entsprechenden Stelle einen Vermerk gemacht - Zeile 35 glaub
ich versuche mir gerade eine GUI zu basteln bei der unter anderem ein JEditorPane existieren soll. Damit alles angezeigt werden kann, brauche eine Scrollbar. Trotz ewigen Suchen und lesen bei der Insel komm ich einfach nicht auf den Fehler. Vielleicht kann mir jemand helfen... - Ahja habe an der entsprechenden Stelle einen Vermerk gemacht - Zeile 35 glaub
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.plaf.basic.BasicSliderUI.ScrollListener;
public class Start extends JFrame{
JButton btn;
JTextField textFeld;
JLabel labelTextField;
JEditorPane listMessage;
JList listUserOnline;
/**************CONSTRUCTOR TO BUILD WINDOW WITH ALL COMPONENTS*****************/
public Start(){
setTitle("Komponente einfügen");
setSize(500,500);
setResizable(true);
setLayout(null);
/**************FIELD TO WRITE A MESSAGE*************************/
textFeld = new JTextField(20);
textFeld.setBounds(new Rectangle(100,385,200,30));
/**************LABEL FOR TEXTFIELD******************************/
labelTextField = new JLabel("Ihre Nachricht: ");
labelTextField.setBounds(new Rectangle(0,400,100,10));
/**************SHOW MESSAGES************************************/
listMessage = new JEditorPane();
listMessage.setBackground(Color.WHITE);
listMessage.setEditable(false);
listMessage.setBounds(new Rectangle(0,0,300,300));
//??????Wieso funktioniert folgendes nicht - so stehts in der Insel??????????
JScrollPane scrollPane = new JScrollPane( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS );
scrollPane.setViewportView( listMessage );
// System.out.println( scrollPane.getViewport().getVisibleRect() );
/**************USER LIST****************************************/
String[] listData = {
"User1", "User2", "User3", "User4", "User5" };
listUserOnline = new JList(listData);
listUserOnline.setBackground(Color.white);
listUserOnline.setBounds(new Rectangle(350, 0, 100, 300));
/**************BUTTON TO SEND A MESSAGE*************************/
btn = new JButton("Nachricht absenden");
btn.setBounds(new Rectangle(300,385,170,25));
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
/*****write only a message if there is text*************/
if(textFeld.getText().length() > 0){
/*****check if we need a line break*****************/
if(listMessage.getText().length() != 0){
listMessage.setText(listMessage.getText()+"\n"+textFeld.getText());
}else{
listMessage.setText(listMessage.getText()+textFeld.getText());
}
textFeld.setText("");
}
}
});
/**************ADD STUFF TO FRAME******************************/
getContentPane().add(btn);
getContentPane().add(textFeld);
getContentPane().add(labelTextField);
getContentPane().add(listMessage);
getContentPane().add(listUserOnline);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args){
Start frame = new Start();
frame.setLocation(800,300);
frame.setVisible(true);
}
}