[Çözüldü] Java Kelime Hatırlatıcı program

Başlatan Kaanx, 28 Ocak 2014 - 23:39:11

« önceki - sonraki »

0 Üyeler ve 7 Ziyaretçi konuyu incelemekte.

Kaanx

Hocam  JLabel messageLabel = new JLabel("<HtMl>"+message[2]);
frame.add(messageLabel, constraints);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setVisible(true);


ile sağ altta kucuk birekran olusutrup mesajı basıyorum oradaki messag[2] var ya o random olarak her bildirim penceresi acıldıgında farklı bir cümle dizisi çagırsın

hckr

message[(int) ( Math.random() * message.length )] yaz oraya diziden rastgele bir eleman çeker.

Okumanı tavsiye ederim:

http://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#random%28%29
http://www.mehmetkirazli.com/java-random-sinifi/

mthan

Alıntı yapılan: Kaanx - 09 Şubat 2014 - 15:20:49
Hocam  JLabel messageLabel = new JLabel("<HtMl>"+message[2]);
frame.add(messageLabel, constraints);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setVisible(true);


ile sağ altta kucuk birekran olusutrup mesajı basıyorum oradaki messag[2] var ya o random olarak her bildirim penceresi acıldıgında farklı bir cümle dizisi çagırsın

o zaman i=i+1 yerine doğrudan (programın başında import java util.Random yazma koşulu ile)
Random rastgele=new Random();
i=rastgele.nextInt(25);
komutlarını kullanabilirsiniz
Özgür yazılım....
http://getgnu.org/

Kaanx

dedikleriniz uyguladım fakat söyle bir sorunla karsılastım. Programı her sıfırdan başlattıgımda Random olarak deger alabiliyorum fakat hangi değerle başlarsa sürekli onunla devam ediyor. Yani çalısırken farklı random değerleri almıyor. Start veriyorum Item14 ile baslıyor 10 dk sonra yine ıtem 14 20 dk sonra yıne ıtem14 gibi mesela. Kodun son hali ve Random kısmı ıcın yazdıgım olaylar burada ;


Random kısmıs ve timer ;
Random r=new Random();
final int i=r.nextInt(25);




TimerTask timertask = new TimerTask() {

@Override
public void run() {
// TODO Auto-generated method stub

JLabel messageLabel = new JLabel("<HtMl>"+message[i]);
frame.add(messageLabel, constraints);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setVisible(true);

}
};
Timer timer = new Timer();
timer.schedule(timertask,0, 6*1000);



Kodun tamamı

import it.sauronsoftware.cron4j.Scheduler;


public class Deneme1 extends JPanel {
private JPanel contentPane;
public static void main(String[] args) throws InterruptedException {


final String[] message= new String[25];
message[0]="Item1";
message[1]="Item2";
message[2]="Item3";
message[3]="Item4";
message[4]="Item5";

message[5]="Item6";
message[6]="Item7";
message[7]="Item8";
message[8]="Item9";
message[9]="Item10";

message[10]="Item11";
message[11]="Item12";
message[12]="Item13";
message[13]="Item14";
message[14]="Item15";

message[15]="Item16";
message[16]="Item17";
message[17]="Item18";
message[18]="Item19";
message[19]="Item20";

message[20]="Item21";
message[21]="Item22";
message[22]="Item23";
message[23]="Item24";
message[24]="Item25";


//String message = "Give the Message here ! .";
String header = "Header Name Region";
final JFrame frame = new JFrame();
frame.setSize(300,125);

frame.setUndecorated(true);

Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize();// size of the screen
Insets toolHeight = Toolkit.getDefaultToolkit().getScreenInsets(frame.getGraphicsConfiguration());// height of the task bar
frame.setLocation(scrSize.width - frame.getWidth(), scrSize.height - toolHeight.bottom - frame.getHeight());

frame.setLayout(new GridBagLayout());
final GridBagConstraints constraints = new GridBagConstraints();
constraints.gridx = 0;
constraints.gridy = 0;
constraints.weightx = 1.0f;
constraints.weighty = 1.0f;
constraints.insets = new Insets(5, 5, 5, 5);
constraints.fill = GridBagConstraints.BOTH;
JLabel headingLabel = new JLabel(header);
//custom title, custom icon
//JOptionPane.showMessageDialog(frame,
    //"Eggs are not supposed to be green.",
  //  "Inane custom dialog",
  //  JOptionPane.WARNING_MESSAGE);

//ImageIcon headIcon= new ImageIcon("Images/icon1.png");
//headingLabel.setIcon(headIcon);
//headingLabel.setIcon()(IconVi); // --- use image icon you want to be as heading image.
headingLabel.setOpaque(false);
frame.add(headingLabel, constraints);
constraints.gridx++;
constraints.weightx = 0f;
constraints.weighty = 0f;
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.NORTH;

JButton cloesButton = new JButton(new AbstractAction("x") {
        @Override
        public void actionPerformed(final ActionEvent e) {
               frame.dispose();
        }
});

frame.add(cloesButton, constraints);
constraints.gridx = 0;
constraints.gridy++;
constraints.weightx = 1.0f;
constraints.weighty = 1.0f;
constraints.insets = new Insets(5, 5, 5, 5);
constraints.fill = GridBagConstraints.BOTH;



Random r=new Random();
final int i=r.nextInt(25);




TimerTask timertask = new TimerTask() {

@Override
public void run() {
// TODO Auto-generated method stub

JLabel messageLabel = new JLabel("<HtMl>"+message[i]);
frame.add(messageLabel, constraints);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setVisible(true);

}
};
Timer timer = new Timer();
timer.schedule(timertask,0, 6*1000);







/*new Thread(){
      @Override
      public void run() {
           try {while(true){
           new CrunchifyTimerTaskExample();
           Thread.sleep(5000); // time after which pop up will be disappeared.
                  frame.dispose();
           }
                 
           } catch (InterruptedException e) {
                  e.printStackTrace();
           }
      };
}.start();*/
}
public Deneme1() {

}

}




mthan

Alıntı yapılan: Kaanx - 15 Şubat 2014 - 16:06:46
dedikleriniz uyguladım fakat söyle bir sorunla karsılastım. Programı her sıfırdan başlattıgımda Random olarak deger alabiliyorum fakat hangi değerle başlarsa sürekli onunla devam ediyor. Yani çalısırken farklı random değerleri almıyor. Start veriyorum Item14 ile baslıyor 10 dk sonra yine ıtem 14 20 dk sonra yıne ıtem14 gibi mesela. Kodun son hali ve Random kısmı ıcın yazdıgım olaylar burada ;


Random kısmıs ve timer ;
Random r=new Random();
final int i=r.nextInt(25);




TimerTask timertask = new TimerTask() {

@Override
public void run() {
// TODO Auto-generated method stub

JLabel messageLabel = new JLabel("<HtMl>"+message[i]);
frame.add(messageLabel, constraints);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setVisible(true);

}
};
Timer timer = new Timer();
timer.schedule(timertask,0, 6*1000);



Kodun tamamı

import it.sauronsoftware.cron4j.Scheduler;


public class Deneme1 extends JPanel {
private JPanel contentPane;
public static void main(String[] args) throws InterruptedException {


final String[] message= new String[25];
message[0]="Item1";
message[1]="Item2";
message[2]="Item3";
message[3]="Item4";
message[4]="Item5";

message[5]="Item6";
message[6]="Item7";
message[7]="Item8";
message[8]="Item9";
message[9]="Item10";

message[10]="Item11";
message[11]="Item12";
message[12]="Item13";
message[13]="Item14";
message[14]="Item15";

message[15]="Item16";
message[16]="Item17";
message[17]="Item18";
message[18]="Item19";
message[19]="Item20";

message[20]="Item21";
message[21]="Item22";
message[22]="Item23";
message[23]="Item24";
message[24]="Item25";


//String message = "Give the Message here ! .";
String header = "Header Name Region";
final JFrame frame = new JFrame();
frame.setSize(300,125);

frame.setUndecorated(true);

Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize();// size of the screen
Insets toolHeight = Toolkit.getDefaultToolkit().getScreenInsets(frame.getGraphicsConfiguration());// height of the task bar
frame.setLocation(scrSize.width - frame.getWidth(), scrSize.height - toolHeight.bottom - frame.getHeight());

frame.setLayout(new GridBagLayout());
final GridBagConstraints constraints = new GridBagConstraints();
constraints.gridx = 0;
constraints.gridy = 0;
constraints.weightx = 1.0f;
constraints.weighty = 1.0f;
constraints.insets = new Insets(5, 5, 5, 5);
constraints.fill = GridBagConstraints.BOTH;
JLabel headingLabel = new JLabel(header);
//custom title, custom icon
//JOptionPane.showMessageDialog(frame,
    //"Eggs are not supposed to be green.",
  //  "Inane custom dialog",
  //  JOptionPane.WARNING_MESSAGE);

//ImageIcon headIcon= new ImageIcon("Images/icon1.png");
//headingLabel.setIcon(headIcon);
//headingLabel.setIcon()(IconVi); // --- use image icon you want to be as heading image.
headingLabel.setOpaque(false);
frame.add(headingLabel, constraints);
constraints.gridx++;
constraints.weightx = 0f;
constraints.weighty = 0f;
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.NORTH;

JButton cloesButton = new JButton(new AbstractAction("x") {
        @Override
        public void actionPerformed(final ActionEvent e) {
               frame.dispose();
        }
});

frame.add(cloesButton, constraints);
constraints.gridx = 0;
constraints.gridy++;
constraints.weightx = 1.0f;
constraints.weighty = 1.0f;
constraints.insets = new Insets(5, 5, 5, 5);
constraints.fill = GridBagConstraints.BOTH;



Random r=new Random();
final int i=r.nextInt(25);




TimerTask timertask = new TimerTask() {

@Override
public void run() {
// TODO Auto-generated method stub

JLabel messageLabel = new JLabel("<HtMl>"+message[i]);
frame.add(messageLabel, constraints);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setVisible(true);

}
};
Timer timer = new Timer();
timer.schedule(timertask,0, 6*1000);







/*new Thread(){
      @Override
      public void run() {
           try {while(true){
           new CrunchifyTimerTaskExample();
           Thread.sleep(5000); // time after which pop up will be disappeared.
                  frame.dispose();
           }
                 
           } catch (InterruptedException e) {
                  e.printStackTrace();
           }
      };
}.start();*/
}
public Deneme1() {

}

}


hocam random nesnesi her yazılışında farklı sayı çağırır siz timertask içinde ranom çağırmamışsınız bayrak değer sabit kaldığı için sürekli aynı çıktıyı alıyorsunuz
final int i=r.nextInt(25)
kodunu timertask içine yazarsanız sorun çözülür yazdığınız haliyle 1 kez random çağırıp sürekli aynı değerleri yazar
Özgür yazılım....
http://getgnu.org/

Kaanx

Hocam cok tesekkur ederim sorun çözüldü :) Yapılacak işlemleri Run içerisinde kosturmak lazımmıs ben orasını düşünemdim şimdi gerekli işlemleri run içerisine tasıdım.

Başka bir sorum. Ekrana belli aralıklarla gelen bu bildirim ekranı kendılıgınden kapanmıyor mesela ekran geldi 3 sn durdu kapandı olsun istitoyurm Thread kosturdugumda bu oluyordu fakar timer kullanmaya baslayınc thread kapattım. hepsi birlikte nasıl yapabilirim ?


mthan

Alıntı yapılan: Kaanx - 15 Şubat 2014 - 17:19:38
Hocam cok tesekkur ederim sorun çözüldü :) Yapılacak işlemleri Run içerisinde kosturmak lazımmıs ben orasını düşünemdim şimdi gerekli işlemleri run içerisine tasıdım.

Başka bir sorum. Ekrana belli aralıklarla gelen bu bildirim ekranı kendılıgınden kapanmıyor mesela ekran geldi 3 sn durdu kapandı olsun istitoyurm Thread kosturdugumda bu oluyordu fakar timer kullanmaya baslayınc thread kapattım. hepsi birlikte nasıl yapabilirim ?
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
satırında default close  yerine yine timer kullanarak bi kapanış programı yazılarak yapılabilir
Özgür yazılım....
http://getgnu.org/

Kaanx

malesef ben o kadarını yapamam kafam almadı :) diğer timer işini anlamak için 2 hafta harcadım neredeyse

Peki bir soruda eklim ben şimdi bu kod işi bitti ve ben bunu arkadaşıma vermek istiyorum. Mesela .exe gibi pc sine kurucak ve çalısmaya baslıcak program her pc yi actıgında. jar file olarak yaptım fakat komut satırından calıstırmak gerekiyor. jar to exe programları varmıs onlarla cevırsem aynı işi görür mü ? Tek amaç bu kodun başka pc lerde son kullanıcıya hizmet etmesi ve kurulumunun yapılması basit bir şekilde

mthan

Alıntı yapılan: Kaanx - 15 Şubat 2014 - 18:04:04
malesef ben o kadarını yapamam kafam almadı :) diğer timer işini anlamak için 2 hafta harcadım neredeyse

Peki bir soruda eklim ben şimdi bu kod işi bitti ve ben bunu arkadaşıma vermek istiyorum. Mesela .exe gibi pc sine kurucak ve çalısmaya baslıcak program her pc yi actıgında. jar file olarak yaptım fakat komut satırından calıstırmak gerekiyor. jar to exe programları varmıs onlarla cevırsem aynı işi görür mü ? Tek amaç bu kodun başka pc lerde son kullanıcıya hizmet etmesi ve kurulumunun yapılması basit bir şekilde
hocam çalıştırılabilir .jar java uygulaması olarak(exe gibi çift tıklayınca çalışır)  hem net beans da hem de eclipse de yapmak mümkün
Özgür yazılım....
http://getgnu.org/

Kaanx

Ben suan ubuntuda cıft tıkladıgımda içerik acılıyor mesela fakat windows üzerinde bu durum değişir umarım :)

mthan

Alıntı yapılan: Kaanx - 15 Şubat 2014 - 19:06:29
Ben suan ubuntuda cıft tıkladıgımda içerik acılıyor mesela fakat windows üzerinde bu durum değişir umarım :)
o zaman çalıştırılabilir jar haline getirmemişsinizdir.jar ve çalıştırılabilir jar farklı şeyler  :o
Özgür yazılım....
http://getgnu.org/

Kaanx

Runnable jar olarak export edıcem daha sorna exe yapıp dnıcem buradan gelişmeleri yazarım tesekkur ederim :)

rutku

Bende böyle uygulama yazmıştım. İlk javayla sonraki sürümünü pythonla.  Java halini bulabilirsem hesabıma yükleyeyim belki yardımcı olur.
Hayallerini kodla ...

uKiriş
Mezgeldek

Kaanx

Cok tesekkur ederim yardımcı olur umarım.

Bir başka sorum ise şu. Jar olarak başka pc le üzerinde çalıstırıyorum suan fakat pc yi acıp kapattıgımda çalısması duruyor bunu bir task olarak nasıl yapabilirim. Pc ye reset atılsada acıldıgında çalışmaya başlamalı ? Exe olarak yapsam olur mu acaba ? Sanırım son noktalardan biriside bu :) az kaldı yardımlarınızı bekliyorum :)

empax

@Kaanx,

Windows ortamında programın kısayolunu alttaki konumlara atarsanız başlangıçta otomatik açılır. Eğer exe dosyası kurulum yapacaksa gerekli yerlere programın kısayolunu da atacak şekilde yaparsınız.

Alıntı Yap

Windows 7/Vista
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup (Gizi Klasördür. Tüm Kullanıcılar için geçerli olur)
C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup (Sadece <username> kullanıcısı için geçerli olur.)
XP/2K
C:\Documents and Settings\All Users\Start Menu\Programs\Startup
C:\Documents and Settings\<username>\Start Menu\Programs\Startup



Linux için;
Alıntı Yap
/home/<username>/.config/autostart (sadece <username> için geçerli olur.)
بسم الله الرحمن الرحيم
|ACEMİLER İÇİN İLK DURAK|Çözüldü|Kod etiketi|

Kaanx

#40
Alıntı yapılan: empax - 16 Şubat 2014 - 14:32:35
@Kaanx,

Windows ortamında programın kısayolunu alttaki konumlara atarsanız başlangıçta otomatik açılır. Eğer exe dosyası kurulum yapacaksa gerekli yerlere programın kısayolunu da atacak şekilde yaparsınız.

Alıntı Yap

Windows 7/Vista
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup (Gizi Klasördür. Tüm Kullanıcılar için geçerli olur)
C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup (Sadece <username> kullanıcısı için geçerli olur.)
XP/2K
C:\Documents and Settings\All Users\Start Menu\Programs\Startup
C:\Documents and Settings\<username>\Start Menu\Programs\Startup



Linux için;
Alıntı Yap
/home/<username>/.config/autostart (sadece <username> için geçerli olur.)




Hocam bunu benım yapmam mı gerekiyor yoksa uygulamayı verdiğim kullanıcı mı yapması gerekiyor ? . Benım yapmam gerekiyorsa biraz daha acabilir miyz bu konuda cok acemeyim malesef  ???


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 16 Şubat 2014 - 17:49:24

http://www.wikihow.com/Run-a-.Jar-Java-File
buradaki işlemleri yaptım fakat hala pc yi acıp kapattıgımda aynı sorunu yasıyorum.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 16 Şubat 2014 - 17:58:08

Dediğiniz adımları şimdi uyguladım ubunut üzerinde kendi pc mde yapabiliyorum fakar başka bir kullanıcı için yapamıyorum başka bir pc de reset atınca programı tekrar başlatmak gerekiyor. Başka bir pc ye kurulum yapıldıgında direk her pc acıldıgında calısmasını istiyorum cunku başka kullanıcıların kullanımına sunacağım.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 17 Şubat 2014 - 12:29:55

Güncel ! Yardımlarınızı bekliyorum .

empax

Siz karşı tarafa programın sadece jar dosyasını mı veriyorsunuz?
Öyleyse jar dosyasını Başlat menüsündeki Başlangıç klasörünü sürükleyip bıraksınlar.

Ya da jar dosyasına sağ tıklayıp kısayol oluştur yapıp o kısayolu Başlangıç klasörüne taşırlar.
بسم الله الرحمن الرحيم
|ACEMİLER İÇİN İLK DURAK|Çözüldü|Kod etiketi|

sem

Benim bahsettiğim farklı bir konuydu. Yani yapılmış bir şeyi tekrar yapmanız da olur şu aşamada iken gibi. Zamanlama ile ilgili sorun yaşıyorsanız Linux'ta Cron Windows'ta Task Scheduler araştırabilirsiniz. Programın bu uygulamalarla sorunsuz olduğunu tespit ettikten sonra ihriyaç duyarsanız kendiniz de bir zamanlamayıcı yazabilirsiniz.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

Kaanx

#43
Alıntı yapılan: sem0900 - 17 Şubat 2014 - 21:34:19
Benim bahsettiğim farklı bir konuydu. Yani yapılmış bir şeyi tekrar yapmanız da olur şu aşamada iken gibi. Zamanlama ile ilgili sorun yaşıyorsanız Linux'ta Cron Windows'ta Task Scheduler araştırabilirsiniz. Programın bu uygulamalarla sorunsuz olduğunu tespit ettikten sonra ihriyaç duyarsanız kendiniz de bir zamanlamayıcı yazabilirsiniz.

Timer modulu kısmı tamam gbi hocam suan program hazır gibi Ver1.0 olarak 2. adım olarak Arraylist koyarak benım tanımladıgım dizileri kullanıcıya bırakıcam Kullanıcı dizilerin içini doldurucak ve istediği sözler cümleler belli zaman aralıgında bildirime gelicek. Diğer adım ise İnternet üzerinden ben yazıcam dizileri karsı tarafa güncelleme gibi gidicek gibi umarım anlatabildim :)

Alıntı yapılan: empax - 17 Şubat 2014 - 14:58:16
Siz karşı tarafa programın sadece jar dosyasını mı veriyorsunuz?
Öyleyse jar dosyasını Başlat menüsündeki Başlangıç klasörünü sürükleyip bıraksınlar.

Ya da jar dosyasına sağ tıklayıp kısayol oluştur yapıp o kısayolu Başlangıç klasörüne taşırlar.

Hocam ben bir uygulamadan esinlenmiştim bunu yaparken diyordku ki kurulum yaparken başlangıcta calıstırılsın mı ? buna tik koydugumda her pc yi acttıgımda calısıyor uygulama bende bunu kurulum esnasında sordurmak istiyorum aslında fikirinz var mı o yuzden exe cevrime programları aradım fakat yararı olmadı




Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 18 Şubat 2014 - 12:54:19

Güncel

sem

Şuradan esinlenebilirsini, başlangıçta açılma işlemi için ya da araştırma için başlangıç noktası oluşturabilir;

http://stackoverflow.com/questions/674628/how-do-i-set-a-program-to-launch-at-startup

Diğer sorunuz ise farklı bir konuya giriyor aslında. Buradaki sorun çözülmüş gibi yani timer sorunu. Dilerseniz yeni soruyu yeni başlık altında sorun. Yazacağınız uygulama, tasarlayacağınız mimariye göre değişiklik gösterecek vs gibi kendine özel sorunları içeren bir soru çünkü. =)
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

Kaanx

Yanıtlarınız için cok tesekkur ederim :)

ahmet_matematikci

E program nerede. Çalışıyor ise paylaşmayacak mısın?
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)