2016-11-29 3 views
0

私はJButtonの作成に役立つリソースとしてインターネットを使用しましたが、何らかの理由で通常のサイズにはできません。私は多くの周りの寸法と混乱を変更しましたが、それは動作していません。ここでこのJButtonを変更して幅全体を占有しないようにするにはどうすればよいですか?

が私のコードです:

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

public class ScreenSaver { 
    public static void main(String[] args) { 

     JFrame frame = new JFrame(); 
     JButton button = new JButton(); 
     JPanel panel = new JPanel(); 

     button.setSize(100, 100); 
     panel.add(button); 


     frame = new JFrame ("Screen Saver"); 
     frame.setSize(Toolkit.getDefaultToolkit().getScreenSize()); 
     frame.setUndecorated(true); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setContentPane(panel); 
     frame.setBackground(new Color(1.0f,1.0f,1.0f,0.1f)); 
     frame.setResizable(true); 
     frame.setVisible(true); 


    } 
} 
+0

'GridLayout'を使うと、ボタンはグリッドの1つのセルだけを塗りつぶします。 – Berger

+0

@Berger他にどのようなレイアウトを使用できますか? – Herseept72

+0

コンストラクタでレイアウトマネージャを渡さずに試してみてください。 'JPanel'のデフォルトのレイアウトマネージャ(FlowLayout)は問題ありません。 – Berger

答えて

0

frame.setLayout(null); 

を使用してみてください、その後することができます

button.setLocation(x,y); 

それはあなたが望む場所でJavaコンポーネントを配置するのに役立ちます。 それ以外の場合は、デフォルトのJavaレイアウトがフレームに適用されます。デザインを完全にカスタマイズすることはできません!

JFrameに追加するすべてのコンポーネントをカスタマイズする必要があります。 (setSize、setLocationをJPanelにも設定します)

関連する問題