Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Java / JSP

Cevapla
 
LinkBack Seçenekler
Eski 11/06/2008, 22:27   #1 (permalink)
Üye
 
Üyelik Tarihi: 03/2008
Mesaj: 11
Soru Butona basık tutmak?

Butona her tıkladığımda dikdörtgen 10px sağa hareket ediyor,fakat bsaık tutmak işe yaramıyor.Butona basık tuttukça sağa kaymasını istiyorum?



Kod:
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class Plot extends Applet implements ActionListener
{ 

int sp1x=250, sp1y=580, sp1g=100, sp1u=10;
private Panel buttonPanel;
private Button buttons;


public void init ()
{    buttonPanel=new Panel();
    buttons=new Button();
    buttonPanel.setLayout(new GridLayout(2,2));
    Color siyah=new Color(0,0,0);
     setBackground(siyah);
     buttons=new Button("saga");
    buttons.addActionListener(this);
    buttonPanel.add(buttons);
     add(buttonPanel); 
         
             
 
}
public void actionPerformed(ActionEvent e)
    {
        sp1x+= 10;
        repaint();
    }

public void paint(Graphics g)
{
g.setColor(new Color(255,255,255));
g.setFont(new Font("SansSerif",Font.PLAIN,24));
g.fillRect(sp1x,sp1y,sp1g,sp1u);
}

}
mehmetaydin hatta değil   Alıntı Yaparak Yanıtla
Eski 13/06/2008, 10:52   #2 (permalink)
Üye
 
Üyelik Tarihi: 09/2004
Mesaj: 96
Varsayılan

Bunun icin butonu saga kaydıracak bir Thread yaparsın. Bunuda "ActionPerformed" yerine butonun "MousePressed" methodunda threadı baslatır, "MouseReleased" Threadi durdurabilirsin.
osmantat hatta değil   Alıntı Yaparak Yanıtla
Eski 13/06/2008, 16:28   #3 (permalink)
Üye
 
Üyelik Tarihi: 03/2008
Mesaj: 11
Varsayılan

Açıkcası hiçbirşey anlamadım. Java'ya başlayalı daha 3-4 gün oluyor, ama bi örnek kod verebilrsen inceleyerek anlayabilirim.
mehmetaydin hatta değil   Alıntı Yaparak Yanıtla
Eski 13/06/2008, 22:32   #4 (permalink)
Üye
 
Üyelik Tarihi: 03/2008
Mesaj: 11
Varsayılan

eğleniyorum kendi çapımda,eğlenirkende öğreniyorum

şimdi burda amaçsız bi kolpa yılan yaptım.butona basık tutmayı yada kalvye tuşlarıyla kontrlu nasıl sağlarım?

Kod:
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class Plot extends Applet implements ActionListener
{ 
int gns=10, uzun=10;
int sp1x=210, sp1y=210;
int sp2x=210, sp2y=200;
int sp3x=220, sp3y=200;
int sp4x=230, sp4y=200;
int sp5x=240, sp5y=200;

int hareket=10;
private Panel buttonPanel;
private Button btnsol, btnsag, btnasa, btnyuk;

public void init ()
{    Color siyah=new Color(0,0,0);
    Color beyaz=new Color(255,255,255);
    Color gri=new Color(197,197,197);
     setBackground(siyah);
     
    buttonPanel=new Panel();
    btnsol=new Button();
    btnsag=new Button();
    btnasa=new Button();
    btnyuk=new Button();
    buttonPanel.setLayout(new GridLayout(1,1));
    btnsag=new Button("saga");
     btnsol=new Button("sola");
     btnasa=new Button("asagiya");
     btnyuk=new Button("yukari");
    btnsol.addActionListener(this);
    btnsag.addActionListener(this);
    btnasa.addActionListener(this);
    btnyuk.addActionListener(this);
    buttonPanel.add(btnsol);
    buttonPanel.add(btnsag);
    buttonPanel.add(btnasa);
    buttonPanel.add(btnyuk);


     add(buttonPanel); 
         
             
 
}
public void actionPerformed(ActionEvent e)
    {
        if(e.getSource()==btnsol)
        {    sp5x= sp4x;
            sp4x= sp3x;
            sp3x= sp2x;
            sp2x= sp1x;
            sp1x-= hareket;
            sp5y= sp4y;
            sp4y= sp3y;
            sp3y= sp2y;
            sp2y= sp1y;            
        }else if (e.getSource()==btnsag)
        {    sp5x= sp4x;
            sp4x= sp3x;
            sp3x= sp2x;
            sp2x= sp1x;
            sp1x+= hareket;
            sp5y= sp4y;
            sp4y= sp3y;
            sp3y= sp2y;
            sp2y= sp1y;
        }else if (e.getSource()==btnasa)
        {    sp5x= sp4x;
            sp4x= sp3x;
            sp3x= sp2x;
            sp2x= sp1x;
            sp5y= sp4y;
            sp4y= sp3y;
            sp3y= sp2y;
            sp2y= sp1y;
               sp1y+= hareket;
        }else if (e.getSource()==btnyuk)
        {    sp5x= sp4x;
            sp4x= sp3x;
            sp3x= sp2x;
            sp2x= sp1x;
            sp5y= sp4y;
            sp4y= sp3y;
            sp3y= sp2y;
            sp2y= sp1y;
               sp1y-= hareket;
        }
        

        repaint();
    }

 public void paint(Graphics g)
 { 
  g.setColor(new Color(55,55,55));
 g.fillRect(sp5x,sp5y,gns,uzun);    
  g.setColor(new Color(105,105,105));
 g.fillRect(sp4x,sp4y,gns,uzun);    
  g.setColor(new Color(155,155,155));
 g.fillRect(sp3x,sp3y,gns,uzun);    
  g.setColor(new Color(205,205,205));
 g.fillRect(sp2x,sp2y,gns,uzun);    
  g.setColor(new Color(255,255,255));
 g.fillRect(sp1x,sp1y,gns,uzun);

 }
}
kodları biraz uaztmış olablrm kesinlikle hada pratik yazım yöntemi vardır ama dediğim gibi şuan için eğleniyorum buyuzden kusura bakmayın =)
mehmetaydin hatta değil   Alıntı Yaparak Yanıtla
Eski 13/06/2008, 23:35   #5 (permalink)
Üye
 
Üyelik Tarihi: 03/2008
Mesaj: 11
Varsayılan

sanki kendim çalıp kendim oynuyorum gibi :S neyse;
bunları ekledim

import javax.swing.plaf.metal.*;
import javax.swing.*;




private JPanel buttonPanel;
private JButton btnsol, btnsag, btnasa, btnyuk;

btnsag.setMnemonic(KeyEvent.VK_I);
btnsol.setMnemonic(KeyEvent.VK_I);
btnasa.setMnemonic(KeyEvent.VK_I);
btnyuk.setMnemonic(KeyEvent.VK_I);

butonları Jbutoton die bişi yaptım bide şu sondaki şeyleri ekledim ama çalışma bakımından birşey değişmedi.
mehmetaydin hatta değil   Alıntı Yaparak Yanıtla
Eski 13/06/2008, 23:48   #6 (permalink)
Eski Cevizci
 
myavuzselim Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2004
Mesaj: 792
Varsayılan

Yaklasik soyle birsey yapabilirsin (denemedim):
Kod:
class Kaydirici implements Runnable
{
	bool kayiyor = false;
	KayanSey kayanSey;

	public Kaydirici(Kayansey ks)  
	{
		kayanSey = ks; 
	}
	public void dur()
	{
		kayiyor = false;
	}
	public void run()
	{
		kayiyor = true;
		while (kayiyor)
		{
			kayanSey.kay();
			Thread.sleep(100);
		}
	}
}

public class Plot extends Applet 
{
	KayanSey kayanSey;
	Kaydirici kaydirici = null;
	
	public void init()
	{
		// ...
		buton.addMouseListener(new MouseAdapter()
		{
			public void mousePressed(MouseEvent e)
			{
				if (kaydirici != null && kaydirici.kayiyor)
					return;
				kaydirici = new Kaydirici(kayanSey);
				new Thread(kaydirici).start();
			}
			public void mouseReleased(MouseEvent e)
			{
				if (kayirici != null)
					kaydirici.dur();
			}
		});
	}
}
myavuzselim hatta değil   Alıntı Yaparak Yanıtla
Eski 14/06/2008, 09:54   #7 (permalink)
Üye
 
Üyelik Tarihi: 09/2004
Mesaj: 96
Varsayılan

netbeans de ufak bir örnek yaptım bunu inceleyebilirsiniz.

Kod:
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;


public class NewJFrame extends javax.swing.JFrame {
    Thread th;
    /** Creates new form NewJFrame */
    public NewJFrame() {
        initComponents();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        buton1 = new javax.swing.JButton();
        buton2 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        buton1.setText("jButton1");
        buton1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                buton1MousePressed(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                buton1MouseReleased(evt);
            }
        });

        buton2.setText("jButton2");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(buton2))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(144, 144, 144)
                        .addComponent(buton1)))
                .addContainerGap(183, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(30, 30, 30)
                .addComponent(buton2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 119, Short.MAX_VALUE)
                .addComponent(buton1)
                .addGap(105, 105, 105))
        );

        pack();
    }// </editor-fold>

    private void buton1MousePressed(java.awt.event.MouseEvent evt) {                                    
        // TODO add your handling code here:
        System.out.println("butona basıldı");
        test t=new test(this.buton2);
        th=new Thread(t);
        th.start();
        
    }                                   

    private void buton1MouseReleased(java.awt.event.MouseEvent evt) {                                     
        // TODO add your handling code here:
         System.out.println("butondan kaldırıldı");
         th.stop();
    }                                    
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }
    
    // Variables declaration - do not modify
    private javax.swing.JButton buton1;
    private javax.swing.JButton buton2;
    // End of variables declaration
    
    class test implements Runnable{
        JButton b;
        
        public test(JButton b){
            this.b=b;        
        }
        public void run() {
            while(true){
                try {
                    int x = this.b.getX();
                    int y = this.b.getY();
                    this.b.setBounds(x + this.b.getWidth(), 10, this.b.getWidth(), this.b.getHeight());
                    Thread.sleep(1000);
                } catch (InterruptedException ex) {
                    Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
    
    }
}
osmantat hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
asp log tutmak cankaya07 ASP 4 10/04/2008 11:29
Pc yi Uzun Süre Açık Tutmak Ardas Donanım 23 30/03/2008 13:00
Log tutmak ile alakalı bir kaç soru akkaraman PHP 4 12/11/2006 10:50
delphi ile kulağı tersten tutmak:) pirilti Pascal / Delphi / Delphi.NET 0 28/06/2005 17:19
Sayfayı üstte tutmak mithat Javascript / DHTML / Ajax 1 07/03/2003 13:20


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 16:19.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net