Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich habe in meinem Programm einige JTextFields auf meinen Panels angeordnet.

Nun möchte ich jedoch, dass diese nur eine bestimmte Größe (Länge) haben.

public JTextField txf_test;

txf_test = new JTextField(6);

txf_test.setText("BlaBla");

Mein txf_test wird jedoch viel länger dargestellt und ich kann auch viel mehr eingeben.

Wie kann ich es so ändern, dass in das txf_test nur 6 Zeichen eingegeben werden können und es auch nur so groß angezeigt wird ?

Ich habe es auch schon mit der java.swing.text.PlainDocument class wie auf: http://www.codeguru.com/java/articles/444.shtml beschrieben versucht aber irgendwie ändert sich nichts und zusätzlich wird meine Texteingabe herausgelöscht bzw. nicht mehr angezeigt.

//txf_test.setDocument(new JTextFieldLimit(6));

Cu Sylvi :confused:

Geschrieben

Hi,

wie Du schon bemerkt hast, tut der Konstruktor von JTextfield nicht das was du erwartet hast. Soweit ich weiß, dient der Konstruktor nur dazu, dass das Textfeld seine gewünschte Größe innerhalb eines GridLayouts kennt.

Wie Du es anzeigen lässt, dass es nur die Breite für 6 Zeichen anzeigt hängt vom Layout das du verwendest ab. (Breite wäre nur bei Schriften wie Courier fix?)

Die Klasse JTextFieldLimit diu Du da verwendest sollte allerdings funktionieren. Habe sie jetzt nicht kopiert und ausprobiert, nehme aber mal an, dass sie zuverlässig funktioniert.

Bist Du dir sicher, dass Du sie fehlerfrei in Deinen Source übernommen hast? ;)

Eigentlich sollte kein Text gelöscht werden. Das das textfeld keinen Text anzeigt, könnte daran liegen, dass der Text der eingefügt werden soll länger als 6 Zeichen ist. Wie befüllst Du das Textfeld? Nur durch manuelle Eingaben? Wird das mit Werten aus einer DB oder einer File gefüllt? Hängen da vielleicht Leerzeichen dran oder so? (Eventuell vorher String.trim() verwenden o.ä.)

Gruß, Peter

Geschrieben

Hallo,

hier der Quellcode verkürzt:

:mod:


import javax.swing.*;

import java.awt.*;

import java.awt.event.*;


public class TestLayout extends JFrame 

{

    public TestLayout() 

    {init();}


    private JPanel MainPanel, CenterPanel, EastPanel, CenterNorthPanel, CenterCenterPanel, CenterSouthPanel;

    private JPanel CenterCenterNorthPanel, CenterCenterCenterPanel, CenterSouthNorthPanel, CenterSouthCenterPanel;


    private JMenuBar mb_funktions;


    private JMenu m_file, m_info;


    private JMenuItem mi_close;


    private JTextField txf_sorttxt3, txf_sorttxt4, txf_sorttxt5, txf_barcode, txf_s, txf_error;

    private JTextField txf_e, txf_mf_new, txf_mf_old, txf_sortart1, txf_sortart2, txf_sortart3, txf_sortart4;

    private JTextField txf_sortart5, txf_sorttxt1, txf_sorttxt2, txf_nb, txf_print, txf_sf_new, txf_sf_old;


    private JLabel lb_ausgabe, lb_barcode, lb_bspausgabe, lb_bspe, lb_s, lb_empty1;

    private JLabel lb_empty2, lb_error, lb_e, lb_mf_new, lb_mf_old, lb_sort, lb_sortart;

    private JLabel lb_sorttxt, lb_nb, lb_print, lb_sf_new, lb_sf_old;


    private JButton btn_checkezn;  


    private void init() {

        MainPanel = new JPanel();

        CenterPanel = new JPanel();

        EastPanel = new JPanel();

        CenterNorthPanel = new JPanel();

        CenterCenterPanel = new JPanel();

        CenterSouthPanel = new JPanel();

        CenterCenterNorthPanel = new JPanel();

        CenterCenterCenterPanel = new JPanel();

        CenterSouthNorthPanel = new JPanel();

        CenterSouthCenterPanel = new JPanel();


        mb_funktions = new JMenuBar();


        m_file = new JMenu();

        m_info = new JMenu();


        mi_close = new JMenuItem();


        lb_empty1 = 	new JLabel();

        lb_bspe = new JLabel();

        lb_e = new JLabel();

        lb_s = new JLabel();

        lb_sort = new JLabel();

        lb_sortart = new JLabel();

        lb_sorttxt = new JLabel();

        lb_ausgabe = new JLabel();

        lb_empty2 = 	new JLabel();

        lb_bspausgabe = new JLabel();

        lb_mf_new = new JLabel();

        lb_mf_old = new JLabel();

        lb_sf_new = new JLabel();

        lb_sf_old = new JLabel();

        lb_print = new JLabel();

        lb_nb = new JLabel();

        lb_barcode = new JLabel();

        lb_error = new JLabel();


        txf_e = new JTextField(31);

        txf_s = new JTextField(2);

        txf_mf_new = new JTextField();

        txf_mf_old = new JTextField();

        txf_sf_new = new JTextField();

        txf_sf_old = 	new JTextField();

        txf_print = new JTextField();

        txf_barcode = new JTextField();

        txf_nb = new JTextField();

        txf_error = new JTextField();

        txf_sortart1 = new JTextField(1);

        txf_sorttxt1 = new JTextField(31);

        txf_sortart2 = new JTextField(1);

        txf_sorttxt2 = new JTextField(31);

        txf_sortart3 = new JTextField(1);

        txf_sorttxt3 = new JTextField(31);

        txf_sortart4 = new JTextField(1);

        txf_sorttxt4 = new JTextField(31);

        txf_sortart5 = new JTextField(1);

        txf_sorttxt5 = new JTextField(31);


        btn_checkezn = new JButton();


        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        setName("frame");

        setSize(500, 450);


        setJMenuBar(mb_funktions);

        mb_funktions.add(m_file);

        mb_funktions.add(m_info);


        m_file.add(mi_close);


        MainPanel.setLayout(new BorderLayout());

        MainPanel.add(CenterPanel, BorderLayout.CENTER);

        MainPanel.add(EastPanel, BorderLayout.EAST);

        getContentPane().add(MainPanel, BorderLayout.CENTER);


        CenterPanel.setLayout(new BorderLayout());

        CenterPanel.add(CenterNorthPanel, BorderLayout.NORTH);

        CenterPanel.add(CenterCenterPanel, BorderLayout.CENTER);

        CenterPanel.add(CenterSouthPanel, BorderLayout.SOUTH);


        EastPanel.add(btn_checkezn);


        CenterNorthPanel.setLayout(new GridLayout(3, 2, 1, 1));

        CenterNorthPanel.add(lb_empty1);

        CenterNorthPanel.add(lb_bspe);

        CenterNorthPanel.add(lb_e);

        CenterNorthPanel.add(txf_e);

        CenterNorthPanel.add(lb_s);

        CenterNorthPanel.add(txf_s);


        CenterCenterPanel.setLayout(new BorderLayout());

        CenterCenterPanel.add(CenterCenterNorthPanel, BorderLayout.NORTH);

        CenterCenterPanel.add(CenterCenterCenterPanel, BorderLayout.CENTER);


        CenterCenterNorthPanel.add(lb_sort); 


        CenterCenterCenterPanel.setLayout(new GridLayout(6, 2, 1, 1));

        CenterCenterCenterPanel.add(lb_sortart);

        CenterCenterCenterPanel.add(lb_sorttxt);

        CenterCenterCenterPanel.add(txf_sortart1);

        CenterCenterCenterPanel.add(txf_sorttxt1);

        CenterCenterCenterPanel.add(txf_sortart2);

        CenterCenterCenterPanel.add(txf_sorttxt2);

        CenterCenterCenterPanel.add(txf_sortart3);

        CenterCenterCenterPanel.add(txf_sorttxt3);

        CenterCenterCenterPanel.add(txf_sortart4);

        CenterCenterCenterPanel.add(txf_sorttxt4);

        CenterCenterCenterPanel.add(txf_sortart5);

        CenterCenterCenterPanel.add(txf_sorttxt5);


        CenterSouthPanel.setLayout(new BorderLayout());

        CenterSouthPanel.add(CenterSouthNorthPanel, BorderLayout.NORTH);

        CenterSouthPanel.add(CenterSouthCenterPanel, BorderLayout.CENTER);


        CenterSouthNorthPanel.add(lb_ausgabe);


        CenterSouthCenterPanel.setLayout(new GridLayout(9, 2));

        CenterSouthCenterPanel.add(lb_empty2);

        CenterSouthCenterPanel.add(lb_bspausgabe);

        CenterSouthCenterPanel.add(lb_mf_new);

        CenterSouthCenterPanel.add(txf_mf_new);

        CenterSouthCenterPanel.add(lb_mf_old);

        CenterSouthCenterPanel.add(txf_mf_old);

        CenterSouthCenterPanel.add(lb_sf_new);

        CenterSouthCenterPanel.add(txf_sf_new);

        CenterSouthCenterPanel.add(lb_sf_old);

        CenterSouthCenterPanel.add(txf_sf_old);

        CenterSouthCenterPanel.add(lb_print);

        CenterSouthCenterPanel.add(txf_print);

        CenterSouthCenterPanel.add(lb_barcode);

        CenterSouthCenterPanel.add(txf_barcode);

        CenterSouthCenterPanel.add(lb_nb);

        CenterSouthCenterPanel.add(txf_nb);

        CenterSouthCenterPanel.add(lb_error);

        CenterSouthCenterPanel.add(txf_error);


        lb_bspe.setText("1234567890123456789012345678901");

        lb_e.setText("E-Nr.:");

        lb_s.setText("S-Nr:");

        lb_sort.setFont(new Font("MS Sans Serif", 1, 14));

        lb_sort.setText("Sort-Texte");

        lb_sortart.setText("Sort-Text-Art/code");

        lb_sorttxt.setText("Sort-Text");

        lb_bspausgabe.setText("1234567890123456789012345");

        lb_ausgabe.setFont(new Font("MS Sans Serif", 1, 14));

        lb_ausgabe.setText("Ausgabeformen");

        lb_mf_new.setText("Ma-Form new");

        lb_mf_old.setText("Ma-Form old");

        lb_sf_new.setText("So-Form new");

        lb_sf_old.setText("So-Form old");

        lb_print.setText("Druck-Form");

        lb_barcode.setText("Barcode-Form");

        lb_nb.setText("Nb");

        lb_error.setText("Fehler");


        txf_s.setText("AA");

        //txf_controlbyte.setDocument(new JTextFieldLimit(2));

        txf_mf_new.setEditable(false);

        txf_mf_old.setEditable(false);

        txf_sf_new.setEditable(false);

        txf_sf_old.setEditable(false);

        txf_print.setEditable(false);

        txf_barcode.setEditable(false);

        txf_nb.setEditable(false);

        txf_error.setEditable(false);


        btn_checkezn.setText("Eingabe pr\u00fcfen");

        btn_checkezn.setAlignmentX(0.5F);


        m_file.setText("Datei");

        m_info.setText("Info");


        mi_close.setText("close");

        mi_close.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent evt) {

            	mi_closeActionPerformed(evt);

            }

        });


        setVisible(true);

        pack();

        addWindowListener(new WindowAdapter() 

        		{

        			public void windowClosing(WindowEvent we) 

        			{

        					System.out.println("Closing Window ...");

        					System.exit(0);

        			}

        		});

    }


    public static void main(String args[]) {

    	TestLayout tl = new TestLayout();

		tl.setVisible(true);

		tl.init();

    }    

}

jede Sort-Text-Art : 1 Zeichen

S-Nr: 2 Zeichen

jeder Sort-Text : 31 Zeichen

E-Nr: 31 Zeichen

______________________________________________

Leider brauche ich aber genau die Anordnung, also vielleicht hat noch einer ne Ahnung.

LG Sylvi :rolleyes:

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...