Ano*_*non 2 java swing jlabel jpanel border-layout
我正在尝试JPanel使用i.add(jp, BorderLayout.EAST);它来设置我的位置,但它不起作用.有什么想法吗?我在这里先向您的帮助表示感谢.
/* INSTANCE DECLARATIONS */
private JTextField tf;//text field instance variable
private JLabel jl2;//label instance variable
/*****************
* WINDOW METHOD *
* ***************/
public void window() {
LoadImageApp i = new LoadImageApp();//calling image class
JFrame gameFrame = new JFrame();//declaration
JPanel jp = new JPanel();
JLabel jl = new JLabel("Enter a Letter:");//prompt with label
tf = new JTextField(1);//length of text field by character
jl2 = new JLabel("Letters Used: ");
jp.add(jl);//add label to panel
jp.add(tf);//add text field to panel
jp.add(jl2);//add letters used
gameFrame.add(i); //adds background image to window
i.add(jp, BorderLayout.EAST); // adds panel containing label to background image panel
gameFrame.setTitle("Hangman");//title of frame window
gameFrame.setSize(850, 600);//sets size of frame
gameFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//exit when 'x' button pressed
gameFrame.setIconImage(new ImageIcon("Hangman-Game-grey.png").getImage());//set the frame icon to an image loaded from a file
gameFrame.setLocationRelativeTo(null);//window centered
gameFrame.setResizable(false);//user can not resize window
gameFrame.setVisible(true);//display frame
}//end window method
Run Code Online (Sandbox Code Playgroud)
i您的LoadImageApp实例使用什么布局管理器?我打赌不是BorderLayout.我打赌这个LoadImageApp类扩展了JPanel,如果是这样,如果你从未明确设置它的布局,那么它FlowLayout默认使用一个,并且正如你所发现的那样,FlowLayout不尊重BorderLayout.EASTint常量.
解决方案可能很简单:让它使用BorderLayout:
setLayout(new BorderLayout());
Run Code Online (Sandbox Code Playgroud)
编辑
你在评论中说:
当我将i的边框布局设置为EAST时,我的背景图像也向右移动,有没有办法解决这个问题?
不,你错过了这一点.您需要将LoadImageApp的布局设置为BorderLayout.你不应该添加我的BorderLayout.EAST.这从未被推荐给你.
即
public class LoadImageApp extends JPanel {
// in the constructor
public LoadImageApp() {
setLayout(new BorderLayout());
}
// .... etc....
}
Run Code Online (Sandbox Code Playgroud)
应该将LoadImageApp实例(我将其命名为loadImageApp而不是i)添加到BorderLayout.CENTER中,这是您之前所做的.请阅读您可以在此处找到的布局管理器教程.
| 归档时间: |
|
| 查看次数: |
324 次 |
| 最近记录: |