Java. GUI mit WindowBuilder scroll-Leiste im Textfeld funktioniert nicht

Ich weiß nicht, warum meine scroll-Leiste im text-Bereich funktioniert nicht. Ich fand viele Lösungen im internet, aber keine 1 geholfen für mich.

textArea1 = new JTextArea();
textArea1.setBounds(13, 28, 182, 199);
panel.add(textArea1);

JScrollBar scrollBar = new JScrollBar();
scrollBar.setBounds(205, 1, 17, 242);
panel.add(scrollBar);

Fand ich, dass kann nicht sein", Panel-layout Absolute, wenn ich Es ändern zu Gruppe layout das gleiche.
Was ist falsch? Könnten Sie mir helfen? Danke.

AKTUALISIERT:

package lt.kvk.i3_2.kalasnikovas_stanislovas;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import javax.swing.JTextPane;
import javax.swing.DropMode;
import javax.swing.JFormattedTextField;
import java.awt.Component;
import javax.swing.Box;
import java.awt.Dimension;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.UIManager;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Toolkit;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JMenuItem;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.ImageIcon;
import javax.swing.JDesktopPane;
import java.awt.SystemColor;
import java.awt.Font;
import javax.swing.border.BevelBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.JScrollBar;
import java.awt.Color;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;

import javax.swing.JLabel;
import javax.swing.JToolBar;

public class KDVizualizuotas {

    private JFrame frmInformacijaApieMuzikos;
    private JTextField txtStilius;
    private JTextArea textArea1;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    KDVizualizuotas window = new KDVizualizuotas();
                    window.frmInformacijaApieMuzikos.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public KDVizualizuotas() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frmInformacijaApieMuzikos = new JFrame();
        frmInformacijaApieMuzikos.setResizable(false);
        frmInformacijaApieMuzikos.setIconImage(Toolkit.getDefaultToolkit().getImage(KDVizualizuotas.class.getResource("/lt/kvk/i3_2/kalasnikovas_stanislovas/resources/Sidebar-Music-Blue-icon.png")));
        frmInformacijaApieMuzikos.setTitle("Muzikos stiliai");
        frmInformacijaApieMuzikos.setBounds(100, 100, 262, 368);
        frmInformacijaApieMuzikos.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        txtStilius = new JTextField();
        txtStilius.setBounds(10, 34, 128, 20);
        txtStilius.setColumns(10);

        JButton btnIekoti = new JButton("Ie\u0161koti");
        btnIekoti.setBounds(146, 36, 89, 19);
        btnIekoti.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
        //     textArea1.append(txtStilius.getText()+"\n");
        //     txtStilius.getText();



                 Scanner input = new Scanner(System.in);
                    try {
                        FileReader fr = new FileReader("src/lt/kvk/i3_2/kalasnikovas_stanislovas/Stiliai.txt");
                        BufferedReader br = new BufferedReader(fr);
                        String stiliuSarasas;
                        while((stiliuSarasas = br.readLine()) != null) {
                            System.out.println(stiliuSarasas);
                            textArea1.append(stiliuSarasas+"\n");
                            }
                        fr.close();
                        }
                    catch (IOException e) {
                        System.out.println("Error:" + e.toString());
                    }





            }
        });

        JPanel panel = new JPanel();
        panel.setBounds(10, 65, 224, 243);
        panel.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));
        panel.setBackground(SystemColor.text);

        JLabel lblveskiteMuzikosStili = new JLabel("\u012Eveskite muzikos stili\u0173:");
        lblveskiteMuzikosStili.setBounds(10, 14, 222, 14);
        frmInformacijaApieMuzikos.getContentPane().setLayout(null);
        panel.setLayout(null);
        frmInformacijaApieMuzikos.getContentPane().add(panel);


        JLabel lblInformacijaApieMuzikos = new JLabel("Informacija apie muzikos stili\u0173:");
        lblInformacijaApieMuzikos.setBounds(12, 3, 190, 14);
        panel.add(lblInformacijaApieMuzikos);

        textArea1 = new JTextArea();
        textArea1.setBounds(13, 28, 182, 199);
        panel.add(textArea1);

        JScrollBar scrollBar = new JScrollBar();
        scrollBar.setBounds(205, 1, 17, 242);
        panel.add(scrollBar);
        frmInformacijaApieMuzikos.getContentPane().add(txtStilius);
        frmInformacijaApieMuzikos.getContentPane().add(btnIekoti);
        frmInformacijaApieMuzikos.getContentPane().add(lblveskiteMuzikosStili);

        JMenuBar menuBar = new JMenuBar();
        frmInformacijaApieMuzikos.setJMenuBar(menuBar);

        JMenu mnFile = new JMenu("File");
        menuBar.add(mnFile);

        JMenuItem mntmExit = new JMenuItem("Exit");
        mntmExit.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                System.exit(0);             
            }

        });
        mntmExit.setIcon(new ImageIcon(KDVizualizuotas.class.getResource("/lt/kvk/i3_2/kalasnikovas_stanislovas/resources/exitas.png")));
        mnFile.add(mntmExit);

        JMenu mnEdit = new JMenu("Edit");
        menuBar.add(mnEdit);

        JMenu mnHelp = new JMenu("Help");
        menuBar.add(mnHelp);

        JMenuItem mntmHelp = new JMenuItem("Help");
        mnHelp.add(mntmHelp);

        JMenu mnAbout = new JMenu("About");
        menuBar.add(mnAbout);

        JMenuItem mntmAbout = new JMenuItem("About");
        mntmAbout.setIcon(new ImageIcon(KDVizualizuotas.class.getResource("/lt/kvk/i3_2/kalasnikovas_stanislovas/resources/questionmark.png")));
        mnAbout.add(mntmAbout);
    }
}
  • Versuchen Sie, den text-Bereich, wie der scroll-Balken anzeigen JScrollBar scrollBar = new JScrollBar(textArea1) und verwenden Sie nicht null layouts 😉
  • Das habe ich versucht, aber ich erhielt den Fehler: The constructor JScrollBar(JTextArea) is undefined. - und was Sie bedeuten "nicht mit null-layouts"? Danke für die Unterstützung.
  • Ein null layout bedeutet, dass Sie sind nicht mit einem layout-manager, auch bekannt als das absolute layout oder die absolute Positionierung. Mit setBounds ist ein gutes Indiz für eine null - /absolute-layout - Dies ist problematisch und wird nicht empfohlen. Ich brauchen würde, um zu sehen, den code, bevor ich den Fehler diagnostizieren
  • Ich aktualisierte mein Erster post mit dem vollständigen code.
  • Diese setLayout(null) ist nicht zu empfehlen. Auch das ursprüngliche problem weiterhin besteht, JScrollBar scrollBar = new JScrollBar() werden muss JScrollBar scrollBar = new JScrollBar(textArea1) und Sie brauchen nicht panel.add(textArea1)
  • Wie ich schon sagte, wenn ich JScrollBar scrollBar = new JScrollBar(textArea1) ich erhielt den Fehler: The constructor JScrollBar(JTextArea) is undefined.
  • Sorry, habe ich komplett übersehen die Tatsache, dass Sie versuchen, eine JScrollBar und nicht ein JScrollPane 😛 - Sie brauchen nicht zu tun, das Sie selbst sind, das ist, was JScrollPane entworfen wurde. Werfen Sie einen Blick auf How to use Scroll Panes für mehr details
  • Ich wirklich nicht verstehen, wie eine ScrollPane, hier sind so viel Arbeit, das zu tun? Könnten Sie mir zeigen, wie eine ScrollPane-muss mal schauen in meinem code, bitte. Ich danke Ihnen sehr.
  • Überprüfen Sie den link in meinem vorherigen Kommentar - überprüfen Sie auch die aktualisierte Antwort

InformationsquelleAutor | 2013-01-16
Schreibe einen Kommentar