Çözüldü Form uygulamasının arayüzü ilk açılışta temaya uymuyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

222744

Gigapat
İlk 5 Haneli Mesajınız!
Katılım
27 Temmuz 2018
Mesajlar
11.217
Makaleler
5
Çözümler
57
Merhaba, küçük bir proje yapıyorum ve bunun için de minik bir giriş ekranım var. Giriş ekranı ilk açılışta temama uymuyor, bir menüye girip geri dön dedikten sonra temama uymaya başlıyor.
Resimle daha kolay anlaşılır herhalde bir de öyle atayım.

Fotoğraftaki gibi önce temama uymuyor fakat farklı ekran açınca temama uyuyor.
1689666120847.png

Tema için Flatlaf kullanıyorum fakat Java içi kendi temalarında da aynı sorun mevcut.

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

public class Enterance {

    private JButton newCustomer;
    private JButton selectCustomer;
    private JButton openTable;
    private JPanel JP;
    private JFrame jFrame;

    public Enterance() {
        try {
            UIManager.setLookAndFeel("com.formdev.flatlaf.FlatIntelliJLaf");
        }catch (Exception lookAndFeel){
            System.out.println(lookAndFeel);
        }
        selectCustomer.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    selectCustomer selectCustomer1 = new selectCustomer();
                } catch (SQLException ex) {
                    throw new RuntimeException(ex);
                }
                jFrame.dispose();
            }
        });
        //old
        openTable.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                jFrame.dispose();
                openTable openTable1 = new openTable();
            }
        });
        try {
            UIManager.setLookAndFeel("com.formdev.flatlaf.FlatIntelliJLaf");
        }catch (Exception lookAndFeel){
            System.out.println(lookAndFeel);
        }
        jFrame = new JFrame();
        jFrame.setVisible(true);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.setSize(250,150);
        jFrame.add(JP);
    }
}

Bunlara ek olarak, ilk java projem bu, eğer başka bir yanlışım eksiğim varsa uyarırsanız sevinirim.
Şimdiden teşekkürler :)
 
Çözüm
Java:
        jFrame = new JFrame();
        jFrame.setVisible(true);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.setSize(250,150);
        jFrame.add(JP);
        try {
            UIManager.setLookAndFeel("com.formdev.flatlaf.FlatIntelliJLaf");
        }catch (Exception lookAndFeel){
            System.out.println(lookAndFeel);
        }
Java:
        jFrame = new JFrame();
        try {
            UIManager.setLookAndFeel("com.formdev.flatlaf.FlatIntelliJLaf");
        }catch (Exception lookAndFeel){
            System.out.println(lookAndFeel);
        }
        jFrame.setVisible(true);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.setSize(250,150);
        jFrame.add(JP);

Bu iki şekilde de denedim hocam yine aynı sonuç.

@Ölümcül Tempo sorunu şimdi bir deneme yaparak çözdüm hocam.

Ben programın ana sınıfı olarak Enterance classını kullanmıyordum, Main adlı bir class ile çağırıyordum. Main Class içini Enterance sınıfını çağırmadan önce UIManagerı ekleyince çiçek gibi oldu.
Java:
try {
    UIManager.setLookAndFeel("com.formdev.flatlaf.FlatIntelliJLaf");
}catch (Exception lookAndFeel){
     System.out.println(lookAndFeel);
}
Sorunun kaynağı tahminimce UIManager.setLookAndFeel() metodunun giriş ekranını açtığın zaman çalışmaması. UIManager.setLookAndFeel() metodunu JFrame nesnesini oluşturduktan sonra çağırmayı dene. Deneyip sonucu yazarsan sevinirim.
 
Java:
        jFrame = new JFrame();
        jFrame.setVisible(true);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.setSize(250,150);
        jFrame.add(JP);
        try {
            UIManager.setLookAndFeel("com.formdev.flatlaf.FlatIntelliJLaf");
        }catch (Exception lookAndFeel){
            System.out.println(lookAndFeel);
        }
Java:
        jFrame = new JFrame();
        try {
            UIManager.setLookAndFeel("com.formdev.flatlaf.FlatIntelliJLaf");
        }catch (Exception lookAndFeel){
            System.out.println(lookAndFeel);
        }
        jFrame.setVisible(true);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.setSize(250,150);
        jFrame.add(JP);

Bu iki şekilde de denedim hocam yine aynı sonuç.

@Ölümcül Tempo sorunu şimdi bir deneme yaparak çözdüm hocam.

Ben programın ana sınıfı olarak Enterance classını kullanmıyordum, Main adlı bir class ile çağırıyordum. Main Class içini Enterance sınıfını çağırmadan önce UIManagerı ekleyince çiçek gibi oldu.
Java:
try {
    UIManager.setLookAndFeel("com.formdev.flatlaf.FlatIntelliJLaf");
}catch (Exception lookAndFeel){
     System.out.println(lookAndFeel);
}
 
Son düzenleme:
Çözüm

Technopat Haberler

Yeni konular

Geri
Yukarı