Şimdi Ara

Java'da labelleri mesaj gibi konumlandırma

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
12
Cevap
0
Favori
348
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba,

    arkadaşlar java'da labelleri mesaj gibi konumlandırmak istiyorum. Mesajlar veritabanından çekilecek.

    Örnek olarak şöyle olması lazım :

    Java'da labelleri mesaj gibi konumlandırma

    Ama ben attıysam benim tarafa ben atmadıysam diğer taraft olacak ve mesela diğer kullanıcının attığı mesajları bir panel gibi bir şeyde toplamam lazım. Çünkü sonra renk vericeğim ve mesajlar zaman sırasıyla olması lazım ve maalesef nasıl yapacağım hakkında hiç bir fikrim yok

    Yardımınıza ihtiyacım var.







  • UP
  • mesela Jlabel[] labels=new JLabel[50];



    string query= "buraya";

    arraylist liste;

    Jpanel jp = new JPanel()

    for(i=0; i<liste.size; i++){



    labels= new JLabel(liste.get(i).mesaj());

    jp.add(labels);





    }

    bunun gibi bişey yapabilirsin



    < Bu mesaj bu kişi tarafından değiştirildi Guest-65F711D5E -- 6 Mart 2018; 17:12:27 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: crazy programmer

    mesela Jlabel[] labels=new JLabel[50];



    string query= "buraya";

    arraylist liste;

    Jpanel jp = new JPanel()

    for(i=0; i<liste.size; i++){



    labels= new JLabel(liste.get(i).mesaj());

    jp.add(labels);





    }

    bunun gibi bişey yapabilirsin





    Çıktı nasıl oluyor foto gönderebilir misiniz?

    Yardımınıza ihtiyacım var.

    < Bu ileti DH mobil uygulamasından atıldı >
  • uygularsan çıktıyı kendinde görebilirsin hacım.

    < Bu ileti DH mobil uygulamasından atıldı >
  • quote:

    Orijinalden alıntı: crazy programmer

    uygularsan çıktıyı kendinde görebilirsin hacım.

    Sadıç çalıştırdım ama olmadı.

    < Bu ileti DH mobil uygulamasından atıldı >
  • hacım sen ne kullanıyorsun, java consol veya gui?

    < Bu ileti DH mobil uygulamasından atıldı >
  • quote:

    Orijinalden alıntı: crazy programmer

    hacım sen ne kullanıyorsun, java consol veya gui?

    Gui

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • şimdi ilk başta bir class oluştur. daha sonra arraylist içerisinde o class taki elementleri çekerek veritabanı bağlantasını sağlayarak bir arraylist class oluştur. son aşama ise jframe oluşturarak gerekli tools elementlerini çağırman.


    1.Aşama
    ---------


    class Mesajlar{

    String ad, soyad;

    public a(String Ad, String Soyad){

    this.ad=Ad;
    this.soyad=Soyad;

    }
    public String getAd(){

    return ad;
    }

    public String getSoyad(){

    return soyad;
    }


    }


    2.Aşama
    -----------
    public Arraylist<Mesajlar> getVeri(){

    ArrayList a = new Arraylist();

    String a ="buraya query sorgunu ekle";

    Mesajlar mesaj;
    while(rs.next()){

    mesaj(
    rs.getString("ad");
    rs.getString("soyad")


    );
    a.add(mesaj);

    }
    }
    son aşamada ;
    ------------------
    Arraylist <Mesajlar> mesajlar = getVeri();
    JPanel jp = new Jpanel();
    JLabel[] label = new JLabel[500];
    for(int i=0; i<mesajlar.size(); i++){

    burayada eklersin artıg
    }

    kendin yap işte bu kadar aklımdan yapabildim. hadi golay gelsin haçım.

    < Bu ileti DH mobil uygulamasından atıldı >




  • Yukardaki kodu bilgisayarda denesen biraz düzenleme ile çalışır, denedin mi?
  • quote:

    Orijinalden alıntı: revivo72

    Yukardaki kodu bilgisayarda denesen biraz düzenleme ile çalışır, denedin mi?

    Merhaba,

    aşama gruplarını anlamadım tam olsa.

    Yardımınıza ihtiyacım var.
  • webandyazilimprofesor W kullanıcısına yanıt
    Label'ları msj gibi konumlandırma denemem.



    Kodlar biraz ekle-çıkartlı oldu, yani gereksiz kodlar da var. Ve kodlar arasında komment'ler de pek yok.Uzun olmasının bir sebebi üstteki arkadaşın Mesajlar klas örneği üzerinden gitmem.



    Gördüğün gibi label içinde kullanılan metinleri mysql vt'den cekiyor. Label'lerin etrafında bir marjin (margin) vermek istedim ancak HTML/CSS'teki border margin:1px; kadar kolay değildi, o yüzden sadece siyah border vererek bıraktım, hepsi üst üste binince çizgili defter gibi göründü.



    Bu tür işlerde yapman gereken temel bir Java kitabından temelleri çalışman, kod yazman, sorunla karşılaştıkça DuckDuckGo ile araman yani Debugging yapman ta ki istenen sonucu üretene kadar. En sonunda da Kent Beck gibi refactoring yapmak. Kent Beck kimdir diyecek olursan, refactoring'in kralıdır.



    Haa bir de dikkat ettiysen kodları Eclipse gibi bir IDE'de değil Emacs editörde yazdım cunku ufak deneme amaçlı şeyleri genelde editörde yazıyorum fakat kodu çalıştırırken kolaylık açısından bir Ant dosyası da (LabelDiz_build.xml adını verdiğim) hazırlıyorum.



    SS:

    Java'da labelleri mesaj gibi konumlandırma


    Kod:

    quote:



    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.ResultSet;

    import java.sql.SQLException;

    import java.sql.Statement;

    import java.io.*;



    import java.util.*;



    import java.nio.charset.Charset;

    import java.nio.charset.UnsupportedCharsetException;



    //import java.awt.GridLayout;



    import javax.swing.JFrame;

    import javax.swing.JLabel;

    import javax.swing.BorderFactory;

    import javax.swing.JComponent;



    import javax.swing.*;

    import java.awt.*;



    public class LabelDiz {

    public static ArrayList<Mesajlar> getVeri() {



    Class driver_class=null;



    try {

    driver_class = Class.forName("com.mysql.jdbc.Driver");

    } catch (ClassNotFoundException e) {

    e.printStackTrace();

    }



    System.out.println("Found driver " + driver_class);



    Connection conn= null;



    String un = "db_user";

    String pw = "XXXX";



    String URL = "jdbc:mysql://rasppi.ev:3306/XXXXXsc_123";

    URL = URL + "?" + "user=" + un + "&password=" + pw;



    try {

    conn= DriverManager.getConnection(URL);

    } catch (SQLException e) {

    e.printStackTrace();

    // return;

    }



    try {

    System.out.println("Verbindung hergestellt zu: " + conn.getMetaData().getURL());

    } catch (SQLException e1) {

    e1.printStackTrace();

    }



    Statement statement=null;



    String query ="SELECT ilce_id,Baslik FROM merkezler ORDER BY ilce_id LIMIT 10";



    ArrayList<Mesajlar> mesajListesi = new ArrayList<Mesajlar> ();



    Mesajlar mesaj = null;



    try {

    statement = conn.createStatement();

    statement.execute(query);



    ResultSet rs = statement.getResultSet();



    String id = null;

    String isim = null;



    byte[] bozukDizi = null;

    String duzgunDizi = null;



    while(rs.next())

    {

    id = rs.getString("ilce_id");

    isim = rs.getString("Baslik");

    // Türkçe karakterleri düzeltme adımı:

    bozukDizi = isim.getBytes("Cp1252");

    duzgunDizi = new String(bozukDizi,"utf-8");

    mesaj = new Mesajlar(id, duzgunDizi);

    mesajListesi.add(mesaj);

    }

    rs.close();



    } catch (Exception e) {

    System.out.println("Problem!");

    }



    //Close section



    if (statement != null)

    {

    try {

    statement.close();

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    if (conn != null)

    {

    try {

    conn.close();

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    return mesajListesi;

    // END Close Section

    }



    // Im letzten Phase;

    //------------------



    public static void main(String[] args) {

    ArrayList<Mesajlar> mesajlar = getVeri();



    final JFrame frame = new JFrame("Test");

    frame.setLayout(new GridLayout(0, 1));

    JLabel lbl = null;



    for(int i=0; i<mesajlar.size(); i++){

    /***** Label içeriğini belirleyek ekleme ******/

    lbl=new JLabel(mesajlar.get(i).getAd() +"-"+ mesajlar.get(i).getSoyad());

    lbl.setBorder(BorderFactory.createLineBorder(Color.black));

    frame.add(lbl);

    }



    frame.validate();

    frame.repaint();



    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setSize(400, 300);

    frame.setVisible(true);

    }

    }





    public class Mesajlar {

    private String ad;

    private String soyad;



    public Mesajlar(String Ad, String Soyad){

    this.ad=Ad;

    this.soyad=Soyad;

    }

    public String getAd(){

    return ad;

    }

    public String getSoyad(){

    return soyad;

    }

    }


    < Bu ileti mini sürüm kullanılarak atıldı >




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.