0
我最初創建一個JLabel
對象,並將其添加到JFrame
,但內容沒有顯示up.I發現一個帖子上stackoverflow
使用的容器,以顯示JLabel
上JFrame
。我試過了太多,但即使如此,也不能幹活經歷了很多帖子,但我找不到任何解決方案。按鈕正在顯示,但Jlabel沒有在哪裏看到!JLabel沒有顯示出來?
Dimension s=new Dimension(400,400);
JFrame l=new JFrame();
l.setSize(s);
l.setResizable(true);
Dimension s1=new Dimension(100,100);
Container me=new Container();
JLabel kingsman=new JLabel ("kingsman");
me.add(kingsman);
l.add(me);
JButton p=new JButton("Goal");
p.setSize(s1);
l.add(p);
//l.pack();
l.setVisible(true);
還有另外一個問題。當我打電話pack()
功能,Jframe
是越來越縮小到一個小窗口,而不是我所提到的尺寸。 請幫忙!
如果我直接將Jlabel添加到框架而不使用容器會發生什麼? –
@MathewsMathai Nothing(或更重要的是,同樣的事情),'JFrame'是一個容器(實際上它有一個JRootPane',它有一個'contentPane',它增加了一些東西) – MadProgrammer
如果你想直接添加到框架,你將不得不應用一些位置約束。如上所述,使用的LayoutManager是一個BorderLayout,所以不用調用frame.add(label)和frame.add(button),你可以使用frame.add(label,BorderLayout.NORTH) '和'frame.add(按鈕,BorderLayout.CENTRE)'。從設計的角度來看,我建議使用帶有適當內容的LayoutManager的JPanel,然後將面板添加到框架中。 – PA001