Java swing设置大小
我有一个问题,我设置了框架的大小,但不起作用。我找到了一个关于这个的话题,但对我没有帮助 我尝试了Java swing设置大小,java,swing,jframe,Java,Swing,Jframe,我有一个问题,我设置了框架的大小,但不起作用。我找到了一个关于这个的话题,但对我没有帮助 我尝试了getContentPane().getSize(500500),但什么都没有 import java.awt.event.*; import java.awt.*; import javax.swing.*; public class Mere extends JFrame{ private JPanel b; public Mere(String titlu){
getContentPane().getSize(500500)
,但什么都没有
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class Mere extends JFrame{
private JPanel b;
public Mere(String titlu){
setSize(500,500);
setLayout(null);
this.getSmth();
pack();
show();
}
public void getSmth(){
JLabel user=new JLabel("User");
user.setBounds(10,10,80,25);
getContentPane().add(user);
JTextField userText=new JTextField(20);
userText.setBounds(100,10,160,25);
getContentPane().add(userText);
JPasswordField pas=new JPasswordField(20);
pas.setBounds(100,40,160,25);
getContentPane().add(pas);
JButton n=new JButton("Register");
n.setBounds(180,80,100,30);
getContentPane().add(n);
JLabel pass=new JLabel("Pass");
pass.setBounds(10,40,100,25);
getContentPane().add(pass);
getContentPane().setVisible(true);
}
public static void main(String[]args){
new Mere("yas");
}
}
pack()调用setSize()
后的code>
从
使此窗口的大小适合其子组件的首选大小和布局。如果任意一个尺寸小于上一次调用setMinimumSize方法指定的最小尺寸,则生成的窗口宽度和高度将自动放大
因此,您宁愿重写getPreferredSize()
方法,或者删除pack()
调用。见(是)
但是,最佳做法是使用布局管理器(如下所述),然后调用pack()
,让管理器在为您计算preferredSize
的同时完成它的工作
null
布局。Swing设计用于处理不同的PLAF、屏幕大小和分辨率,而像素完美的GUI似乎是制作复杂GUI的最好、更快的方法。您在这方面做得越多,维护GUI时遇到的问题就越多,所以请继续使用适当的GUI或它们的组合。看到和JFrame
,它翻译成英语,它说你的类是一个JFrame
,JFrame
在你需要将它添加到另一个组件时是不灵活的,相反,您应该创建一个JFrame
实例,如果确实需要扩展某些东西,可以从JPanel
扩展
pack()调用setSize()
后的code>
从
使此窗口的大小适合其子组件的首选大小和布局。如果任意一个尺寸小于上一次调用setMinimumSize方法指定的最小尺寸,则生成的窗口宽度和高度将自动放大
因此,您宁愿重写getPreferredSize()
方法,或者删除pack()
调用。见(是)
但是,最佳做法是使用布局管理器(如下所述),然后调用pack()
,让管理器在为您计算preferredSize
的同时完成它的工作
null
布局。Swing设计用于处理不同的PLAF、屏幕大小和分辨率,而像素完美的GUI似乎是制作复杂GUI的最好、更快的方法。您在这方面做得越多,维护GUI时遇到的问题就越多,所以请继续使用适当的GUI或它们的组合。看到和JFrame
,它翻译成英语,它说你的类是一个JFrame
,JFrame
在你需要将它添加到另一个组件时是不灵活的,相反,您应该创建一个JFrame
实例,如果确实需要扩展某些东西,可以从JPanel
扩展
非常感谢,我使用null作为布局是因为它更简单。记住,更简单并不总是正确的,一旦你学会使用布局管理器,你就会发现使用它们更简单是的,你是对的。我想我会试试GridBagLayout,不管怎样,谢谢你的提示:Drember,你可以混合使用它们,你可以使用GridBagLayout和FlowLayout,还有BoxLayout,还有你想要的所有组合。现在我需要一点布局经验,让我的程序看起来很棒。非常感谢,我使用null作为布局是因为它更容易。记住,更容易并不总是正确的,一旦你学会使用布局管理器,你就会发现使用它们更容易。是的,你是对的。我想我会试试GridBagLayout,不管怎样,谢谢你的提示:Drember,你可以混合使用它们,你可以使用GridBagLayout和FlowLayout,还有BoxLayout,还有你想要的所有组合。现在我需要一点布局经验,让我的程序看起来很棒。