我學習Java和我從一開始:)Java如何在面板上添加組件?
開始我想提請對面板生產線,但我不能
這是我的代碼:
public class Window extends JFrame{
public Window(){
setSize(600,600);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
Container pow = getContentPane();
Component k = new Test();
pow.add(k);
Panel p1 = new Panel();
p1.setBounds(40, 40, 520, 520);
p1.setBackground(Color.white);
pow.add(p1);
}
}
和麪板類
import java.awt.*;
import javax.swing.*;
public class Test extends JPanel{
public void paintComponent(Graphics g){
g.drawLine(30, 50, 30, 550);
g.drawLine(30, 550, 550, 550);
g.drawLine(30, 50, 20, 60);
g.drawLine(30, 50, 40, 60);
g.drawLine(550, 550, 540, 540);
g.drawLine(550, 550, 540, 560);
}
}
and main
public static void main(String[] args){
Window mo = new Window();
mo.setVisible(true);
}
爲什麼我的組件位於面板下? Sory這是我的代碼
'Panel'和'Component'是AWT,'JPanel'和'JComponent'是Swing。 AWT不使用'paintComponent',而是使用'paint'。將AWT類切換到Swing類或將paintComponent切換到paint類,並且它可以工作。 – Pietu1998
發佈完整的代碼,以便我們可以將其粘貼到我們的IDE中並進行測試。並學習如何使用佈局管理器。 –
如果您的類擴展了AWT'Panel',則不存在'paintComponent'方法,因此任何繪畫都將停止顯示,因爲您實際上並未覆蓋任何東西 –