Portal > Foren > Java > Desktop-Applikationen und Grafik > Bildschirmtastatur
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 07.02.2008, 13:20 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 07.02.2008
Beiträge: 6
Standard Bildschirmtastatur

Hallo,

Ich habe eine Bildschirmtastatrur und ein textfeld (bzw eineige Buttons die ein Zeichen zurrückgeben und ein Textfeld) jezt möchte ich in dem ActionListener angeben, dass er das zeichen des buttons auf den ich klicke in das feld mit dem aktuellen fokus schreibt der ursprüngliche string in dem textfeld darf aber nicht verschwinden dadruch ...jemand ne idee?
Z33di ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.02.2008, 13:59 Nach oben    #2
Neuer Benutzer
 
Registriert seit: 07.02.2008
Beiträge: 6
Standard

klasse
{static void ..
{
{//Textfelder

final TextField InpIP = new TextField("192.168." );
InpIP.setBounds(20,50,135,23);
Fenster.add(InpIP);
InpIP.setFont(new Font("Dialog", Font.BOLD, 17));
}
{// und hier das problem
BtnZiffern[i].addActionListener( new ActionListener()
{
public void actionPerformed( ActionEvent e )
{
for (int x = 0; x<10; x++)
{
if (e.getSource().toString().contains(String.valueOf( "text=" + x) ))
{
InpIP.setText(InpIP.getText()+ 1);
/*System.out.println(number);
Fenster.getComponent(InpIP).requestFocusInWindow() ;
Fenster.getComponent(InpIP).setFocus();*/
}
}
}
});
}}
Z33di ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.02.2008, 23:41 Nach oben    #3
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 355
Standard

Willkommen im Forum. Es gibt hier Möglichkeiten, den Code schön zu machen. Ich mache mir mal die Mühe
Zitat:
Zitat von Z33di Beitrag anzeigen
Code:
klasse
{static void ..
{
{//Textfelder
 
final TextField InpIP = new TextField("192.168." );
InpIP.setBounds(20,50,135,23);
Fenster.add(InpIP);
InpIP.setFont(new Font("Dialog", Font.BOLD, 17));
}
{// und hier das problem
BtnZiffern[i].addActionListener( new ActionListener()
{
      public void actionPerformed( ActionEvent e )
      {
      for (int x = 0; x<10; x++)
         {
            if (e.getSource().toString().contains(String.valueOf("text=" + x) ))
            {
               InpIP.setText(InpIP.getText()+ 1);
               /*System.out.println(number);
               Fenster.getComponent(InpIP).requestFocusInWindow();
               Fenster.getComponent(InpIP).setFocus();*/
            }
         }
      }
   });
}}
Zu deinem Problem. Schau mal, was alles in einem ActionEvent steckt. Dort findest du eine ethode getSource(). Die Methode liefert dir schonmal die UI-Komponente (also den Button) von dem das Event (der Button-Klick) stammt. Damit sollte einiges von deinem Code wegfallen. Falls du nicht richtig damit zurecht kommst, baue dir beispielsweise eine Klasse MyButton, die von JButton ableitet. Dieser Klasse fügst du eine einfache Methode "getZiffer()" hinzu. Dann sieht das wie folgt aus:
Code:
int ziffer = ((MyButton)e.getSource()).getZiffer();
//
class MyButton extends JButton
{
    private int ziffer;
    MyButton(int ziffer)
    {
        this.ziffer = ziffer;
    }
    int getZiffer()
    {
        return this.ziffer;
    }
}
Das Problem, vor dem du jedoch nun stehst ist, dass du in dem Moment, wo man auf den Button klickt, den Fokus im Eingabefeld verliert und der Fokus auf dem Button liegt. Ich denke du meinst, dass man die Ziffer dort einfügen will, wo der Textcursor aktuell steht. Google sagt mir beispielsweise folgendes. http://www.rgagnon.com/javadetails/java-0332.html
Ich habe mal bewusst was verlinkt, was nicht hundertprozentig zum Thema passt, aufgrund des dann hoffentlich vorhandenen Lerneffektes. Falls noch fragen sind, frag.
__________________
Open Sourcing the Online Gaming Universe
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
mepeisen ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:42 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45