小编sum*_*u00的帖子

在JLabel上设置大小取代了java中的其他组件

我正在为我的程序中的错误消息设置一个JLabel,所以最初标签是空的label.setText(""),但是当出现错误时它应该改为类似的label.setText("Error, you have entered invalid data...").

如果我setSize(x,y)在标签上使用它,则会在发生错误消息时强制其他组件移位.但使用setPreferredSize(Dimension(x,y))并不影响他们.

Q1.这是为什么?

Q2.setSize(x,y)和之间有什么区别setPreferredSize(Dimension(x,y))

Q3.是否必须对布局做任何事情?

提前谢谢您的解释!

PS我正在使用GridBagLayout来定位我的组件JPanel.

java swing label

0
推荐指数
1
解决办法
66
查看次数

在java中映射 - 获取错误的地图大小

我试图了解Map接口如何在Java中工作.我要做的是:遍历字符串数组,并为数组中的每个名称name[]放置grade0到5之间的随机.然后映射gradename[i].然而,地图大小变得奇怪,虽然我在数组中有10个元素,map.size()映射后是5.为什么程序会多次计算相同的大小(参见输出)?以下是代码和输出:

    import java.util.*;  

    class MapInterfaceExample{  

    public static void main(String[] args){  

    int grade = 0; 
    String[] name = {"Lisa", "Dan", "John", "Adam", "George", "Amanda", "Sarah", "James", "Derek", "Sam"}; 

    Map<Integer,String> map=new HashMap<Integer,String>();  

    for(int i=0; i<name.length; i++){
    grade = (int)(Math.random()*5+1); 
    map.put(grade, name[i]);  
    //System.out.println(grade + "\t"+ name[i]);  
    System.out.println("Size of map "+ map.size());}
    } 
    }
Run Code Online (Sandbox Code Playgroud)

输出:

地图大小1

地图大小2

地图大小2

地图大小2

地图大小2

地图大小3

地图大小3

地图大小4

地图大小4

地图大小5

java

-4
推荐指数
1
解决办法
123
查看次数

标签 统计

java ×2

label ×1

swing ×1