2016-05-09 8 views
0

Das Programm wird ordnungsgemäß kompiliert, aber der Bildlaufbereich für den Textbereich wird nicht erstellt. Ich weiß wirklich nicht, warum das passiert. I definiert JScrollPane und auch umgesetzt mit scrollPane = new JScrollPaneWie erstellt man eine Bildlaufleiste für meine JTextArea mit JScrollPane?

Dies ist mein Code:

import java.awt.*; 
import javax.swing.*; 
import java.awt.event.*; 
import javax.swing.table.*; 
public class GuiProject5 extends JFrame 
{ 
private static final int WIDTH = 400; 
private static final int HEIGHT = 300; 
private JPanel lowerPanel; 
private JLabel widthL, areaL; 
private JTextArea areaTA; 
private JTextArea ta; 
private JScrollPane scrollPane; 
private JTextField lengthTF; 
private JCheckBox gergsC; 
private JButton exitB; 

//Button handlers: 
private ExitButtonHandler ebHandler; 

public GuiProject5() 
{ 

    areaL = new JLabel("Label: ", SwingConstants.RIGHT); 

    lengthTF = new JTextField("TextField"); 

    lowerPanel = new JPanel(); 

    areaTA = new JTextArea("TextArea", 6, 8); 

    ta = new JTextArea("stuff", 6, 8); 

    scrollPane = new JScrollPane(); 

    gergsC = new JCheckBox("Checkbox"); 

    //Specify handlers for each button and add (register)  ActionListeners to each button. 

    exitB = new JButton("Button"); 
    ebHandler = new ExitButtonHandler(); 
    exitB.addActionListener(ebHandler); 

    setTitle("My Gui in java"); 
    Container pane = getContentPane(); 
    pane.setLayout(new GridLayout(4, 2)); 

    //Add things to the pane in the order you want them to appear (left to right, top to bottom) 

    pane.add(exitB); 
    pane.add(lengthTF); 
    pane.add(lowerPanel); 
    ta = new JTextArea("Stuff", 6, 8); 
    ta.setLineWrap(true); 
    ta.setWrapStyleWord(true); 
    lowerPanel.add(new JScrollPane(scrollPane)); 
    pane.add(new JScrolscrollpane); 
    pane.add(gergsC); 
    pane.add(areaL); 



    setSize(WIDTH, HEIGHT); 
    setVisible(true); 
    setDefaultCloseOperation(EXIT_ON_CLOSE); 
} 


public class ExitButtonHandler implements ActionListener 
{ 
    public void actionPerformed(ActionEvent e) 
    { 
     System.exit(0); 
    } 
} 

public static void main(String[] args) 
{ 
    GuiProject5 rectObj = new GuiProject5(); 
} 

}

+1

Sind Sie sicher, dass dieses Programm kompiliert ??? 'pane.add (neue JScrolscrollpane); 'Jedenfalls müssen Sie die Textare dem Bildlauffenster hinzufügen, bevor Sie den Bildlaufbereich zu' pane' hinzufügen – AhmadWabbi

+0

@A. Wabbi Wie füge ich dem Bildlauffeld einen Textbereich hinzu? –

+0

'scrollpane.add (ta);' – AhmadWabbi

Antwort

0

Sie JScrollPane wie

jsp=new JScrollPane(textAreaObj); 

initialisieren sollte, und fügen Sie die Panel.

JScrollPane 

ist eine Containerklasse. Sie sollten die Komponente definieren, auf der Sie Bildlaufleisten in JScrollPane() constructor möchten und fügen Sie dieses JSP-Objekt in Ihrem Layout

+0

Ich habe versucht, was Sie mit dem Jsp = neue JScrollPane (TextArea Obj) gesagt haben, aber es wird immer noch nicht für mich arbeiten. private JTextArea textAreaObj; jsp = neuer JScrollPane (textAreaObj); Scheibe.add (jsp); pane.add (neues JScrollPane (scrollPane)); –

+0

Warum haben Sie pane.add hinzugefügt (new JScrollPane (scrollPane)); –

Verwandte Themen