0
public class Pencere{
    JFrame pencere = new JFrame();
    JButton buton1, buton2;

    public Pencere() {
        pencere.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pencere.setTitle("Ana Pencere");
        pencere.setBackground(Color.getHSBColor(15f, 120f, 220f));
        pencere.setLocation(new Point(500, 300));
        pencere.setSize(613, 253);
        pencere.addMouseListener(new Dinle());
        pencere.setLayout(new FlowLayout());
        pencereDegis();
    }
    public void goster(){
        pencere.setVisible(true);
    }

    public void pencereDegis(){
        try {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        } catch (ClassNotFoundException | InstantiationException
                | IllegalAccessException | UnsupportedLookAndFeelException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        buton2 = new JButton("Butonnn"); //This button not visible
        pencere.add(buton2);
        pencere.pack();
    }
}

アプリを実行すると(JFrameウィンドウを表示)、すべてのコードは正常に機能しますが、「Butonnn」ボタンが表示されなかった後にpencereDegis()メソッドを呼び出すと、

私の悪い英語のために申し訳ありませんが、すべてに感謝します。

4

2 に答える 2

1

goster()このコードは、メソッドを呼び出すことでうまく機能しますmain。ボタンが表示されます(クラスがないため、buton2コメントを外しました)。よくわかりませんが、これはあなたの発言のせいかもしれません。私はOSXを持っていて、最初はフレームを表示できませんでした(を使用していたため)が、この修正を使用するとうまく機能します。addMouseListener()DinleLookAndFeelWindowsLookAndFeel

public class Pencere{
    JFrame pencere = new JFrame();
    JButton buton1, buton2;

    public Pencere() {
        pencere.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pencere.setTitle("Ana Pencere");
        pencere.setBackground(Color.getHSBColor(15f, 120f, 220f));
        pencere.setLocation(new Point(500, 300));
        pencere.setSize(613, 253);
        //pencere.addMouseListener(new Dinle());
        pencere.setLayout(new FlowLayout());
        pencereDegis();
    }
    public void goster(){
        pencere.setVisible(true);
    }

    public void pencereDegis(){
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (ClassNotFoundException | InstantiationException
                | IllegalAccessException | UnsupportedLookAndFeelException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        buton2 = new JButton("Butonnn"); //This button not visible
        pencere.add(buton2);
        pencere.pack();
    }

    public static void main(String[] args)
    {
        Pencere p = new Pencere();
        p.goster();
    }
}
于 2013-03-10T12:14:22.710 に答える
0
public static void main(String[] arg)
{
    pencereDegis();
    goster();
}

これをコードに含めると、機能します。

于 2013-03-10T12:33:42.013 に答える