亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 jframe 中設置按鈕的位置不起作用

在 jframe 中設置按鈕的位置不起作用

夢里花落0921 2023-09-20 16:32:51
我有一個方法,就是向 JPanel 添加一個按鈕。但是,我有一個問題,該按鈕的某些屬性我無法修改。setBackground和setLocation方法根本不影響按鈕。我試圖將按鈕移動到底部,JPannel但當我嘗試設置水平對齊或位置時似乎沒有發生任何事情。    public static void initButtons() {        JButton purchaseButton = new JButton();        purchaseButton.setText("Proceed to Checkout");        purchaseButton.setPreferredSize(new Dimension(200,50));        purchaseButton.setIcon(new ImageIcon("/Users/alecr/eclipse-workspace/MakingPurchases/src/shopping_cart_sprite.png"));// set location method not working        purchaseButton.setLocation(25, 600);        JPanel firstPanel = new JPanel();         firstPanel.setBounds(25, 40, 300, 700);        firstPanel.setBackground(new java.awt.Color(90,90,100));        firstPanel.setBorder(BorderFactory.createStrokeBorder(new BasicStroke(3.0f), new Color(70,70,80)));        frame.add(firstPanel);        firstPanel.add(purchaseButton);    }
查看完整描述

1 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

您應該使用適當的 LayoutManager并讓它為您完成工作,而不是為每個組件使用setLocation和。硬編碼尺寸和位置將不允許您的應用程序針對不同的屏幕尺寸進行擴展,并且您將無法調整大小,這對用戶來說不太友好。setBoundsJFrame

但是,如果您堅持使用絕對硬編碼值(坐標和尺寸),則必須從容器中刪除布局管理器(默認情況下JPanel?使用 FlowLayout),因為就像我提到的,它會處理這些事情。為了做到這一點:

JPanel panel = new JPanel(null); //null layout manager allows absolute values


查看完整回答
反對 回復 2023-09-20
  • 1 回答
  • 0 關注
  • 103 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號