Problem bei den JTextfield Dokumentarten

Kenpa

Neues Mitglied
Hallo Leute,

ich bekomm jedesmal wenn ich

Java:
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;

public class Test extends JFrame implements ActionListener
{
    private JTextField text;
    private JLabel label;
    private JButton button;

    public Test()
    {
        super("Test");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocation(300,300);
        setSize(200,200);
        getContentPane().setLayout(new BorderLayout(5,5));
        
        button = new JButton("Test");
        button.addActionListener(this);
        
        label = new JLabel("");
        
        text = new JTextField(new DoubleDocument(text));
        text.setText("12.10");
        
        
        getContentPane().add(BorderLayout.NORTH, text);
        getContentPane().add(BorderLayout.CENTER, button);
        getContentPane().add(BorderLayout.SOUTH, label);
        
        setVisible(true);
    }
    
    
    public static void main(String[] args)
    {
        Test t = new test();
    }

    public void actionPerformed (ActionEvent ae)
    {
        text.setText(text.getText());
    }

kompilieren möchte die Fehlermeldung:

no suitable constructor found JTextField(DoubleDocument)
constructor javax.swing.JTextField(javax.swing.text.Document,java.lang.String,int) is not applicable;

und zwar bei zeile:

[JAVA=25]text = new JTextField(new DoubleDocument(text));[/code]

Für den andere Teil der in JTextField: Dokumentarten unter DoubleDocument habe ich eine extra Klasse gemacht.

Da ich ein absoluter Neuling bin, weiß ich jetzt leider nicht wie ich diesen Fehler beheben kann.

mfg
Kenpa
 
Ich nehme mal an das DoubleDocument von Document erbt.
Aber das JTextField besitzt nunmal keinen Konstruktor der nur ein Document entgegennimmt
bzw die Fehlermeldung sagt DoubleDocument (no suitable constructor found
Code:
JTextField(DoubleDocument)
.

Der Konstruktor der einigermaßen passen würde (
Code:
JTextField(Document doc, String text, int columns)
)
kann nicht angewandt werden, da du nur ein Document übergibts.

Ich hoffe ist etwas klarer geworden und hilft dir

MFG Clayn
 
Ich brauch ein JTextField das nur double zahlen zulässt, damit ich mit den eingegebenen Zahlen rechen kann. Da hab ich ein bisschen gegoogelt und hab dieses DoubleDocument gefunden, welches hier im Forum ist und da dachte ich, dass ich es benutzen könnte.
 
Also hab mal geschaut und hab das hier im Forum gefunden.
Allerdings wundert mich, dass das so gehen soll im Konstruktor vom JTextField.

Was du machen kannst wäre das JTextField erzeugen mit
Code:
text=new JTextField();
und dann mit
Code:
text.setDocument(new DoubleDocument(text));

sollte eigentlich dann gehen
 

Neue Themen


Zurück
Oben