1

プログラムを作成していますが、JLabel が表示されません。私の JButton は完全に動作しますが (表示されます)、何らかの理由で JLabel が表示されません。インターネットでチェックしましたが、何も見つかりませんでした。

package com.hinx.client;

import java.awt.Color;    
import javax.swing.*;

public class Main {

    public static void main(String [] args) 
    {
        createWindow();
    }       

    static void createWindow()
    {           

        //Create panel
        JPanel content = new JPanel();
        content.setLayout(null);

        //Build the frame
        JFrame frame = new JFrame("Hinx - A marketplace for apps - Client ALPHA_0.0.1");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(700, 400);
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
        frame.add(content);
        frame.setVisible(true);

        //Add the login button
        JButton login = new JButton("Login");
        login.setBounds(0, 342, 150, 30);

        //Create login label
        JLabel loginlabel = new JLabel("Login Area");

        //Create login panel
        JPanel loginpanel = new JPanel();
        loginpanel.setLayout(null);
        loginpanel.setBounds(0, 0, 150, 400);
        loginpanel.setBackground(Color.gray);
        loginpanel.add(login);
        loginpanel.add(loginlabel);         

        content.add(loginpanel);
    }       
}
4

4 に答える 4

6

インターネットでチェックしましたが、何も見つかりませんでした。

  • JFrame は、JComponents ( frame.add(content);) が追加/作成される前に表示されます

  • コード行frame.setVisible(true);(JFrame に関するより良いすべて) をコンストラクターの最後に移動します。

于 2013-05-03T13:49:02.497 に答える
2
  1. レイアウトを使用します。この場合、 FlowLayoutは問題ないはずです。呼び出しsetBounds()たり、レイアウトを として設定したりしないでくださいnull

  2. ラベルとボタンを追加JPanel

  3. 次に、追加JPanelしますJFrame

  4. pack()代わりに呼び出すsetSize()

  5. 最後に電話setVisible(true)します。

幸運を!

于 2013-05-03T13:49:10.180 に答える